Expose ui_has_initialized

Useful for command line processes so they can determine whether ui
functions are possible.
MD5: Abort on errors for cmdline nandroid restore

If 'nandroid restore' is run from the command line, prompts are not
possible (thanks to Phyto Wardt for pointing this out). Abort with a
listing of files that are missing from directory or nandroid.md5.

Change-Id: I527ffeafc5da50e7878ddc103f4fb55218632ce1
recovery: SEARCH should work as SELECT_ITEM

Before 2cc22971e40a0ffc7849cdf09dc96916c22136e0, SEARCH worked as
SELECT_ITEM. After that, it became back.
It is desirable for SEARCH to work as select because it provides
a full control for devices with the 4-capacitive-buttons row.
MENU = DOWN
HOME = UP
SEARCH = SELECT (was BACK)
BACK = BACK
Improve touch code

Currently retains swipe-only touch handling, but all elements are in
place to support taps in the future, if desired.
Support capacitive touch keys

* Adds basic support for capacitive keys (virtual keys)
* Only enabled if BOARD_RECOVERY_SWIPE is enabled

Change-Id: I13ade22991880e4fb5c5c71639660e1563e95a89
Only show Mount USB storage if UMS possible

In the mounts and storage menu:
* Reduce the complexity of if/elses for /data/media and UMS specific
  menu entries with a simple struct
* Only show UMS mount option if vold managed volumes are available and
  usb-otg is not in use. Vold does not have any mechanism to determine
  if a managed volume is usb-otg, so we have to rely on string
  comparison to the volume label. "usbdisk" is by far the most common
  label, so this should cover most devices just fine.

Change-Id: I8a203a614e1c603c32a06b1afb77834cc4cd51ce
Version 6.0.5.0

Notable changes since 6.0.4.9:
* Segfault fixes for command line nandroid backup/restore
* Optimizations to progress thread so it doesn't get overloaded with
  screen updates (this significantly improves backup/restore speed)
* Fixes for command line nandroid backups of vold volumes
* Correctly update background image for errors and finished processes
* Allow selective restore of more than one partition at a time
* New MD5 calculator only verifies checksums of partition(s) selected
  for restore and warns you when files or checksums are not found
* New touch code supports a wider variety of devices for swipe control
  and virtual (capacative touch) keys are now supported
* Only show Mount USB storage option if possible