Navbar: alternate layouts

allow up to 5 customizable alternate layouts and add special arrow keys
on each side to switch layouts.

Change-Id: I2bfddb5967a77c63e1d403d1defa01bb3d123d42
Merge "Revert "ContentProvider: Avoid duplicate initialization of AsyncTask"" into kk44
Navbar: add extensibility of KBV for alternative button views

Add constructors for nested KeyButtonInfo class to allow
extending in special-case keybuttonview classes

Change-Id: Ide7e850f2fc2cade6105e049df024112e9e3b4a9
Navbar: touch up alternate layout resources

add drawables for lower resolutions
add image rotation handling dependent on tablet or phone UI
add overlayable resource for layout changer size

Change-Id: Ie06ebcd6a66496a151c18f3b72ca0e5d5d9932af
hwui: Fix a sporadic crash seen during CTS runs

 * It's possible (due to race conditions) that a patch might be
   scheduled for removal twice. Just print a warning and continue
   instead of asserting and crashing.

Change-Id: I42865f6717816a743cc49ba15b839e6c3b57ed83