Refactor and improve viewer command handling.

Moved command set parsing and translation from Qt key events to commands
to new `classification_command_set_utils` module. Wrote unit tests for
that module. Disallowed commands with control and meta modifiers, fixing
issue #2.