PERF: replace use of `isnan` once MSVC bug is fixed
ref #23182, #21813

MSVC bug tracker  - https://developercommunity.visualstudio.com/content/problem/294290/incorrect-codegen-for-double-equality.html

Once that bug is fixed in a widely available MSVC for python 3 builds we should redefine `isnan` / `notnan` to be based on an equality check here.
https://github.com/pandas-dev/pandas/pull/23182/files#diff-467e9a847ab859a085518bc17711fe57R20

Current code works around that MSVC bug by using the libc, `isnan`, which works, but can't be inlined, so likely has a little perf cost
https://godbolt.org/z/y550lB
