Improve / cleanup setup.py (fixes #117)

Thanks to @lawrenceakka for the suggestions!