Add basic setup.py and restructure modules

This enables the package to be installed via pip install and used in a requirements.txt file