ENH: Add cumulative methods to ea
- [x] closes #28385 (Replace xxxx with the Github issue number)
- [x] [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
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

This tries to finish #28509. I've reduced the scope to masked arrays and would prefer to do datetimelike as a follow up, if we want to change the behavior there. This is currently a big buggy as mentioned in https://github.com/pandas-dev/pandas/pull/28509#issuecomment-778741118
Currently, we are dispatching back to the current implementation.

I was wondering about the exact interface. Currently, you'd have to call ``_accumulate`` with the name of the function, since ``cumsum`` etc. are not really added to the interface, meaning

```
arr = pd.array([1, 2, pd.NA], dtype="Int64")
arr.cumsum()
```

raises, because the method is not registered. I this intended? 
The failure in case of float32 is expected, it comes down to:

```
x = np.array(list(range(1, 101))) / 10
y = np.array(list(range(1, 101)), dtype="float32") / 10

a = np.cumprod(x)
b = np.cumprod(y)
```

Not related to our implementation, its a floating point precision issue. Did not come up previously, since float32 was cast to object before calling numpy Yes, we already have tests for these cases, although not in the extension arrays folders. But this dispatches back to the original implementation, so I think this is fine? We definitely have tests hitting these cases.

The current implementation of date times is a bit buggy, so we have to decide how to move forward before implementing anything specific 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. Sorry for the long wait, this is ready for another look Yep the base class raises NotImplementedError Added Should have addressed everything Thanks @phofl 