Multigui merge

Merge the multigui branch now that the backend is in place. The CLI mode is now fully usable. Work on kdialog/kde still untested.