BUG: Fix __instancecheck__ and __subclasscheck__ of metaclass in pandas.core.dtypes.generic
- [x] closes #46684 (Replace xxxx with the Github issue number)
- [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).
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

---

#46684 is caused by wrong `__instancecheck__` implementation, but `__subclasscheck__` implementation is also wrong. I fixed both.

```python
import pandas as pd
from pandas.core.dtypes.generic import ABCDataFrame

print(isinstance(pd.DataFrame, ABCDataFrame)) # Should have returned False, returned True instead
print(issubclass(pd.DataFrame(), ABCDataFrame)) # Should have raised, returned True instead
```
Alright done! Thanks @leonarduschen!