Drop Python 3.7 support
Python 3.7 is nearly EOL, so drop its use. This lets us update a bunch of dependencies too.