split webserver and GUI; add proper setup.py