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.
Fix #113: on API 18+ use Storage Access Framework and drop SD permissions.

Also use a MIME type: text/x-sgtpuzzles.

It seems you can get the SD card into DocsUI from its overflow menu -> Settings.
Fix #227: issues with chooser's menu icons jumping around.

I've really no idea why these needs the slightly nuclear option of recreating all the items when GamePlay doesn't, but, oh well, it works.

While I'm at it, don't treat the style toggle as checkable anymore as it's never displayed that way.
Fix #226: libs and /system

If you have an old phone and put the app on /system, following the convention of extracting things that look like libraries to /system/lib, that will now work.

Extracted some stuff to Utils while in the area.
Experimentally enable Android Beam.
Fix spin when truncated save ends on a line break e.g.

SAVEFILE:41:Simon Tatham's Portable Puzzle Collection
VERSION :1:1
GAME    :6:Towers
Bump version code.