has_trait() method on router

This new method will allow the GUI to make decisions on throttling
behavior, which depends on the presence of the INTERNET trait.
Introduce 'then' for router callbacks

This is, as the name suggests, for doing a callback after the other
handlers resolve.
Begin basic mass generation skeleton

This still needs throttling, card update, and the UI components.
Implement throttling logic

This is implemented via a QTimer so that the GUI can be updated
correctly during a throttle.
Full mass generator support

Implements the progress bar and all note updates.
Dummy out TemplateBuilder integration hook

This is going to come later -- after the merge to the mainline.
Re-introduce legacy tag support

These take the form of [TTS:service:voice:text] and [GTTS:voice:text].
Add TODO for mass generator

It would be nice for this to have a "stop" button.
Assert check for 'style' attribute on services

Adds a check that prohibits the use of 'style' by services for
configuration. The "style" attribute must be reserved for the user to
use things like 'style="display: none"' in their markup.