Tests now run in GitHub Actions. The original travis-based CI workflow is ported, and we've added a new weekly CI to run tests and type analysis against the latest release or sphinx and the current Sphinx master branch to get a heads-up about potential breakages from upstream dependencies.
Adopt black and isort for formatting the code base.
Adopt pre-commit for running linters and formatters.