add packaging following best practices
I made this repo package-able as a python module. You can use either the "legacy" setuptools method or pyproject.toml/setup.cfg. Note that this also includes the updates to dependencies to be compatible with Python 3.10 that I did over here: !29 (closed).