WIP: ENH: Support ZoneInfo timezones
- [ ] closes #37654
- [ ] 1 tests added /  0 passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

WIP for #37654. Starting from scratch on this one. I will mark this ready for a review when it gets the job done. Apart from refactoring the code to rely only on the public interface of tzinfo independent of the implementation, the main worry is performance. I'll make sure to benchmark appopriately.

Apologies for the long absence. Had some health issues, but they are, thankfully, pinned down now, and I have mostly recovered.