Rearchitected viewer / viewer server so it can be packaged, adding pyinstaller spec file, cleaning up unused hackery