BrowserGenerator form

Makes some adjustments to the base ServiceDialog class to support
variations between the generator dialogs, plus some additional bug
fixes.
Remove Qt designer files and build stuff

These are now handled in pure Python, removing the need for the UI files
and the script support for building them.
Router detecting of busy requests

If a play() request comes in for a file that is already being process,
the router now knows to raise an exception instead of sending it to the
service again for processing.
Introduce play_html in router

This can be used with the automatic playback, and the shortcut
functionality too soon.
Preview and dialog improvements

Disables all input widgets when a call is occurring, adjust the Okay
button as appropriate, and break up the existing _do_preview() method.
Remove config responsibilities from router

All the effort for maintaining the 'current' state here can be done more
easily and directly by the forms themselves.
Router simplification

Breaks up methods to allow multiple dispatch to be more easily
implemented in the future, and simplifies the way callbacks work.
Introduce Reviewer class

This is a headless GUI component responsible for managing the on-the-fly
stuff during review mode.
Reintroduce key shortcuts via the new Reviewer

This works just like before, except state gets injected in via a little
bit of lambda glue.