Fix #225. The keyboard priority order is now:

* Uppercase letters - Undo/Redo, also they're often accepted by a puzzle even though the specified list is lowercase.
* Exact typed character that would be in the on-screen keyboard.
* Character in the on-screen keyboard that your key could have generated with different modifiers (numbers on letter keys).
* Unshifted 'u' or 'r'.
* None of the above? Give up and pass to OS.