REF: implement _apply_blockwise
Preliminary pushing towards #34714
> I think ultimately you want to put this _apply_blockwise in a BlockwiseMixin, similar to SelectionMixin, so you can add it to groupby and so on, but suppose could be done later

I'm planning a BlockManager method that subsumes all of the apply-blockwise usages.

For that to work, we need to get all of the relevant looping-over-blocks functions into a form that can be passed to such a method.  Thats the intermediate goal of this and #35356. @simonjayhawkins is this new/expected?

```
pandas/core/window/rolling.py:500: error: Type variable "pandas._typing.ArrayLike" is unbound
pandas/core/window/rolling.py:500: note: (Hint: Use "Generic[ArrayLike]" or "Protocol[ArrayLike]" base class to bind "ArrayLike" inside a class)
pandas/core/window/rolling.py:500: note: (Hint: Use "ArrayLike" in function signature to bind "ArrayLike" inside a function)
``` that worked, thanks @simonjayhawkins  thanks