ENH: Incorproate ArrowDtype into ArrowExtensionArray
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).

Not fully user facing yet.

Supersedes https://github.com/pandas-dev/pandas/pull/46972

cc @jbrockmendel let me know if this is what you had in mind
yah this is what i  had in mind Have this in a pretty good state now.

* Not user facing yet
* `BaseConstructorsTests` and `BaseGetitemTests` are running. Will plan to add more in subsequent PRs > In [30]: arr1.dtype == arr2.dtype

Awesome thanks for the second review.

I was able to address the dtype `__eq__` comparison by adding `pyarrow_dtype` to `_metadata`. I am hoping this will be tested once I add the other base extension tests in subsequent PRs. Updated & all green