Improves setup.py and starts implementing Mac App support