Fix #198: change behaviour of "Unlocked" to use "unspecified".

This means if the OS has locked orientation, we don't set it back to sensor, which would be inconsistent with the chooser and generally unexpected.

No need for migration code since old values of "sensor" will be caught by the default case anyway, and I don't think it's worth offering "sensor" in its own right.
Fix #195: don't exceed the GPU's texture size.
Remove incorrect "m" icon in Solo (part of #197).
Fix #202: use icons for startingBackend not currentBackend (which might be null).
Fix #194: tap to toggle pencil status and tap out of bounds to clear cursor.
#194: oops, fix number entry.
Fix #204: tint the icon for visibility in grid mode.
Fix #203: reset keyboard whether or not there's a message box to show.

The blanking was only because the keyboard layout pre-emptively changed for the new size - now, if that happened (i.e. if keyboard was a different size), changing it back will redraw.
Part of #200: Flip: don't start with cursor showing.
Bump to API 21 (Lollipop) everywhere.

This, in particular the support library upgrade, removes the Action Bar from Settings for some reason (probably would need to be a fragment-based prefs activity to get it back) and also changes the top-left icon to an arrow. :-/
Re #203: don't explode when there was no previous game!
Account for new native library location on Lollipop.
Tweak keyboard: let the puzzle specify lowercase to match what's on the board (Solo).

(and stop using case as a signal for that one weird key in Bridges)
Sort out the immediate problem on #207, also bump spinner size.

They were a bit small as seen on the screenshot.

This is certainly not the best way to get a consistent style, but will do for now, if nobody comes up with a better one before the release is otherwise ready.
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.
Revert to API/support lib 20.

This material design stuff still looks a bit unfinished and especially unsuited to a dark theme (many widgets end up black on grey). Looks much more polished pre-upgrade. Revisit later.
Fix #200: arrows setting sets cursor visibility initially and when toggled.
Fix #208 I hope: use original icon resource name.

(At any rate, I have no other ideas for that.)
Bump version.