ENH: speed up wide DataFrame.line plots by using a single LineCollection
<!--
Thank you for your contribution to pandas!
Please fill in the checklist below.  Mark completed items with an “x”.
-->

### What does this PR change?

* **Speeds up `DataFrame.plot(kind="line")` when the frame is “wide”.**  
* If the DataFrame has **> 200 columns**, a **numeric index** (e.g. `RangeIndex`
  or integer/float values), is **not** a time-series plot, has **no stacking**
  and **no error bars**, we now draw everything with a single
  `matplotlib.collections.LineCollection` instead of one `Line2D` per column.
* No API changes; behaviour is identical for smaller plots or the excluded
  cases above.

### Performance numbers

| 500 rows × 2000 cols (RangeIndex) | master | this PR | speed-up |
|-----------------------------------|--------|---------|----------|
| `df.plot(legend=False)`           | 0.342 s| 0.069 s | **5×** |

*Benchmarked on pandas **3.0.0.dev0+2183.g94ff63adb2**, matplotlib **3.10.3**, NumPy **2.2.6***  

### Notes

* This PR does _not_ change anything for `DatetimeIndex` plots—those remain on the original per-column path. A follow-up could combine `LineCollection` with the `x_compat=True` workaround (see [#61398](https://github.com/pandas-dev/pandas/issues/61398)) to similarly speed up time-series plots.
* Threshold (`> 200` columns) is a heuristic and can be tuned in review.
* The fast path activates only for numeric indices. Datetime/period/timedelta
  indices still use the original per-column draw, so behaviour there is
  unchanged.

---

- [x] closes **#61532**
- [x] tests added / passed (`pytest pandas/tests/plotting -q`)
- [x] code checks passed (`pre-commit run --all-files`)
- [x] added entry in `doc/source/whatsnew/v3.0.0.rst`

cc @shadnikn @arthurlw – happy to take any feedback 🙂

@jbrockmendel Done in the latest commit, thanks!