- added prototype hover frame for tags in media view
- hover frame shouldn't show when a dialog is open
- manage tags dialog launched from media viewer now has a delete button
- subscriptions now have an 'initial limit' variable, defaulting to 500, that limits the total number of files the subscription daemon will look for on the initial sync
- added a similar file limit spinctrl to gallery download pages
- updated layout of import files dialog
- cleaned up some ugly global variable scope stuff
- fixed initialisation of advanced import options in file import dialog
- made a good start to better object serialisation
- subscription and repository sync daemon jobs that stop due to a dialog-driven change during processing will now cancel themselves after five seconds
- fixed namespace (e.g. 'series:') tag censorship
- fixed the fullscreen switch bug that was breaking an (initially fullscreen)->(non fullscreen) media viewer
- fixed some search logic (some system predicates were not firing when there were no regular tags present)
- removed some artificial delays on daemon db access, let's see if it chokes anything
- harmonised a bunch of client and server controller code
- created a common controller class and merged a lot of the client and server controller code into it
- general code cleanup
- more general code cleanup