PERF: Eliminate circular references in accessor attributes
- [ ] closes #47667 (Replace xxxx with the GitHub issue number)
- [ ] closes #41357 (Replace xxxx with the GitHub issue number)

Given the discussion in those issues, appears users are OK with the tradeoff of accessor initialization not being cached in favor of eliminating a circular references that could block garbage collection

While this is considered private and inside `pandas.core`, this seems to be used quite a bit in the wild in practice, so maybe we could keep the existing `CachedAccessor` name as an alias for now? (and either deprecate that specifically, or handle that through the generic pandas.core deprecation)

This came up in geopandas, but from a quick github search it seems quite some other projects are using this as well like pyspark, modin, etc

- https://github.com/apache/spark/blob/3edd6c7e1d504860fefc9921208ec47ab562ae41/python/pyspark/pandas/series.py#L48
- https://github.com/snowflakedb/snowpark-python/blob/fbf193e163308eb83d6fc182f333d9f648a18e5b/src/snowflake/snowpark/modin/pandas/accessor.py#L190
- https://github.com/modin-project/modin/blob/43eff5bea3862213135acda5fa65f3172279df57/modin/pandas/accessor.py#L193
- https://github.com/PatrikHlobil/Pandas-Bokeh/blob/bb4181c2f563e1b83d9853a2c344848d8006b32d/pandas_bokeh/__init__.py#L18
- https://github.com/jseabold/pandas-selectable/blob/fbfd0e86eec29b7404845d21f2cea2bf4f8a4b43/pandas_selectable/__init__.py#L6 Sure added the alias back in https://github.com/pandas-dev/pandas/pull/58754