This addresses a failure in the `py38-dev` tests
caused by markupsafe recently dropping Python 3.8 support.
Changed in this commit:
* Drop Python 3.8 support
* Update CI and tox testing
* Update docs references to Python 3.8
* Remove a Windows / Python 3.8 admonition in the docs
* Address type annotations
* Incorporate style fixes
Still to do:
* `src/flask/sessions.py` contains these comments:
> TODO generic when Python > 3.8
This TODO should now be unblocked.
Reverts commit 4d69165ab6. Now that a
release has this option, it's ok to show it in the docs. It had been
reverted because the 2.2.x docs showed it before 2.2.3 was released.