ENH: support downcasting of nullable EAs in pd.to_numeric
- [x] closes #33013
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Picking up #33435.

In `pd.to_numeric` when encountering an `IntegerArray` and `FloatingArray` (or `Series` built from them) we downcast `_data` then reconstruct the array using the downcast `_data` and the `_mask` from the original array.
Green + addressed comments Thanks @arw2019 !