Make +commands work properly on key-up.

This is done by making use of the stored key-down information for the
+commands to determine which -commands are to be executed when a key is
released.

The key binding is no longer used on key-up and is not modified on key-down
(though a few extra commands are executed).