build core/jni with fstrict-aliasing

PS2: Make our own SkRect so skia doesn't need to know what an android::Rect is

Credit to David96 for the inspiration for the fix

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I3233728d8a0a44d085f20729b3c24f197d75741e

Conflicts:
	core/jni/Android.mk
frameworks/base: Fix SystemUI crash on Recent Apps list

Issue: SystemUI crash is observed when Context MenuItem "App info"
       is selected on the recent apps activity
       1. Open the rencet apps list
       2. Long press on any one/more recent app(s)
       3. Lock the screen using power key
       4. Unlock the screen using power key
       5. select menu item "App info"
       6. SystemUI process will get crashed.

Fix: Changed the code to make sure that only one context
     menu is active at a time and also dismissed the
     context menu on pause of the RecentsActivity

Change-Id: Ia50bed7bfad6fde7beeaec37fa6402177eee1d40
DocumentsUI: catch berserk apps on building recents

We should not crash Documents app because of that

Change-Id: Ie89a10c5005aef7f3e75a4f5a17f018e0fbc0814
MountService:  Support for alternative LVM storage list configuration

To facilitate allowing a different storage_list to be used when LVM partition alteration
is detected on a device, add a new storage_list_lvm.xml - This will be chosen when the
property ro.lvm_storage is set to 1 or true

The init scripts will set this property when an alternate storage configuration is
detected.  If the property is not set, the system will simply use the standard
storage list configuration

Change-Id: I4c3b636afad8b3343df83d97c7febaafd5d22f25
Use char16_t for char things.

When compiling in C++ mode, the compiler will complain about conversions
from uint16_t to char16_t. Be consistent in using char16_t for strings.

Change-Id: I052b6176ced635162920b31560052d9a64f92764

Conflicts:
	tools/aapt/ResourceTable.cpp
Fix C++11 and strict-aliasing

Change-Id: I7043e1f9bb1eab8eaba3942e69144947539f6fbe