ENH: implement tm.shares_memory
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [ ] whatsnew entry

xref #44152

Dedicated implementation based on https://github.com/pandas-dev/pandas/pull/43930/files#diff-6676eb1e10942179c11b3ef5a8a59d835a05873934580a52139117ebd1f2d7c3R236

Meant to implement tests before merging; will do so in follow-up(s) I think this is causing mypy to complain on master:

```
pandas/_testing/__init__.py:1086: error: "ExtensionArray" has no attribute "_data"  [attr-defined]
pandas/_testing/__init__.py:1087: error: "ExtensionArray" has no attribute "_data"  [attr-defined]
```