Treat uppercase letters as non-data-entry.

This is the part of #197 that might apply upstream:

For u, r, and Unequal's h and m, let uppercase versions be interpreted
as commands even when they might otherwise mean enter that letter, and
lowercase versions enter the letter if possible otherwise be the command.

This means games small enough that clashes don't happen are unaffected,
and when a clash does happen, a frontend that sends uppercase letters for
these commands (as Android now will) can always be unambiguous. If an
Android user has a Bluetooth keyboard or something, and plays a large
game, they will need to know to use uppercase to disambiguate in this
way.
Fix #197 (the rest) - send uppercase U, R, Unequal H & M; only show icons for uppercase, etc.