ENH: Add first and last aggregations to Rolling and Expanding
- [ ] closes #33155 (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/v3.0.0.rst` file if fixing a bug or adding a new feature.

@mroeschke would `take` be able to handle NAs efficiently though? i.e. perform the aggregation in `O(N)` time as opposed to `O(NW)` (W = window) This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. > This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this.

bumping this for visibility. Some quick benchmarks I ran:

```
In [5]: ser = pd.Series(np.random.randn(10000))

In [6]: %timeit ser.rolling(5).apply(lambda x: x[~x.isna()].iloc[0]) # using custom lambda
831 ms ± 4.21 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [7]: %timeit ser.rolling(5).first()
150 μs ± 881 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

In [8]: %timeit ser.rolling(5).last()
144 μs ± 1.14 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

``` Sorry for the delay @snitish. Thanks for sticking with this  > Sorry for the delay @snitish. Thanks for sticking with this

No problem at all. Thanks for approving!