COMPAT: make read_excel accept path objects for the filepath (#12655)
- [x] closes #12655
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Fairly simple fix overall, since `get_filepath_or_buffer` is already set up to just convert the path objs to string, we can do that first and then just let the existing logic handle it.

Since the libraries that contain the path objects aren't hard dependencies, I'm not sure how to typecheck against them without first using the `_IS_LIBRARY_INSTALLED` checks and then importing if they're installed. Let me know if this should be done differently.
