Introduce Keycode to simplify key checks.
Remove VirtKey and KeyName.
Add a Hotkey class for user-configurable keys. Fixes #3779.

Users can now define and use hotkeys that include modifiers (ctrl/meta/shift/alt).
Merge pull request #3969 from pchote/hotkeys

Improved hotkey support