API: change ExtensionArray.astype to always return an ExtensionArray
Closes #24877

This is a work-in-progress to see if it's realistic to require `ExtensionArray.astype` to always return an ExtensionArray (in practice this means returning a PandasArray if now a numpy array would be returned). 

Further we will also need to see how this impacts external EAs, and how this change can be managed.

(datetimelike and categorical arrays were not yet updated)
This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this. https://github.com/pandas-dev/pandas/issues/24877#issuecomment-925134203 @jorisvandenbossche planning to do anything else here? Thanks for the pull request, but it appears to have gone stale. If interested in continuing, please merge in the main branch, address any review comments and/or failing tests, and we can reopen.