Setup fixes

Moves dependencies to setup.py rather than requirements.txt