Introduce new common GUI key_ helper functions

These will transform from a key event to a key combination integer, and
then from a key combination integer to a human-readable description.
Port Configurator UI window to use key_combo_desc

This actually reduces the code size quite a bit.
Bug fix for exception when unsetting keys

This bug has probably been there since the 1.0 beta 12 release, but it
is sure going to be fixed now.
Fix for key_event_combo()

Returns correct value for modifier keys now.
Implement new key binding from Configurator

This uses a combination of keyPressEvent/keyReleaseEvent to accomplish
the goal, so that it's as easy as possible to bind keys.
Improve key_event_combo documentation

Explains the "blacklisting" of certain modifier-ish keys.
Port reviewer listener to support combos

This now calls into the same combination conversion function as the
configurator dialog does.
New configuration columns

Introduces five new slots to hold the various shortcut keys used
throughout the add-on.
Split off the generation of shortcut buttons

This will enable the re-use of this logic in a future bit of code for
assigning the new launcher configurations.
Enable configurator to update launch_ options

This makes use of the new "factory" method and adds a new "windows" tab.
Add disclaimer to the windows tab

This talks about when shortcuts become effective and that shortcuts may
not work if they are duplicated by other add-ons.
Use key_combo_desc as appropriate

Instead of deriving it using the crazy way Qt has, we can use the helper
function.
Wire up new shortcut functionality

All windows now launch by their configured keystrokes.
Remove default shortcut for browser stripper

Ctrl + Alt + T is actually already reserved by Anki, and this would be
an infrequently-used function anyway.
Prevent awesometts_pending crash

This could happen if no key had ever been hit before unpressing the
button, which meant that awesometts_pending would be uninitialized. This
can done during the factory method, though.
Various fixes for keyPress/keyRelease

Fixes the super call from keyRelease to actually call keyRelease on the
parent instead of keyPress.

Also ignores enter/return on keyRelease if there are buttons active so
as to avoid immediately disengaging a shortcut button if it was
activated in the first place by enter/return.
Outright blacklist weird keys from shortcuts

I am still finding that these cause subtle problems in various places or
just do not work correctly, so we can refuse to allow them during calls
to key_event_combo().
Simplify logic for key_combo_desc()

With the blacklisting of certain keys, we do not have to attempt emulate
anything by scanning the key namespace -- this can just work with the
call to toString() with the NativeText qualifier and it will work
properly.
Documentation updates for new shortcut functions

Adds a new Windows page to the Config section, updates the new
functionality for the Playback tab, and updates configuration images.
Expand blacklisted shortcut keys

Includes many more keys, including those that cause problems on OS X.
Updates screenshots and documentation. Adjusts caller code for the
configurator to detect backspace/delete/escape on its own (since these
are now blacklisted keys).