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

Change-Id: Idc70366d76a18edecb25adce2e35e31e814443c5
Expose ui_has_initialized

Useful for command line processes so they can determine whether ui
functions are possible.

Change-Id: I2e1b8af39806973ae11eaed5bbdb1f3b6ddc7b13
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
Improve touch code

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

Change-Id: I276111f767ade32717c859c62d1d9f046ffa161c
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
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0