Remove import of pandas as pd in core.window
Do `isinstance` checks against `ABCFoo`.

- [ ] closes #xxxx
- [ ] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=h1) Report
> Merging [#17233](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/06850a148ad880eb2fd2564cc0ad7cae8606dd90?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `89.47%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/17233/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&height=150&width=650)](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #17233      +/-   ##
==========================================
+ Coverage      91%   91.01%   +<.01%     
==========================================
  Files         162      162              
  Lines       49531    49526       -5     
==========================================
- Hits        45077    45074       -3     
+ Misses       4454     4452       -2
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.79% <89.47%> (+0.02%)` | :arrow_up: |
| #single | `40.26% <0%> (-0.07%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/window.py](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvd2luZG93LnB5) | `96.37% <89.47%> (-0.14%)` | :arrow_down: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.72% <0%> (-0.1%)` | :arrow_down: |
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `65.05% <0%> (+1.81%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=footer). Last update [06850a1...f525d13](https://codecov.io/gh/pandas-dev/pandas/pull/17233?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 thanks. generally removing ``pd`` is in and of itself not a big deal; e.g. this is not a top-level imported module
