restore minui support for paletted images with < 8 bits

The PNG image loaders should support images that use palettes
requiring fewer than 8 bits.

Change-Id: Ibcb0ff6f04aea8de54b03c0efa7a79e9b3635146
screen_ui: Initialize text buffer

Zero initialize the text buffer to make recovery not
render garbage when showing the menu or messages.

Change-Id: I0dd0d357757f6b0fd52ad3b3617d42bb1b835245
add the functions for multi-stage packages to updater

In order to support multi-stage recovery packages, we add the
set_stage() and get_stage() functions, which store a short string
somewhere it can be accessed across invocations of recovery.  We also
add reboot_now() which updater can invoke to immediately reboot the
device, without doing normal recovery cleanup.  (It can also choose
whether to boot off the boot or recovery partition.)

If the stage string is of the form "#/#", recovery's UI will be
augmented with a simple indicator of what stage you're in, so it
doesn't look like a reboot loop.

cherry-pick AOSP commit c87bab101893e8322b49d7c8600e3367b20ab50a

Conflicts:
	recovery.cpp
	screen_ui.cpp
	screen_ui.h
	updater/install.c

Change-Id: I3fd355adacd4ed00c23713d6a4fdafd91d7a28a4