frameworks/base: Fix aliasing violations

Fix violations of strict aliasing rules

Change-Id: Ia83db6a0be18f52e8f274c581c3b42f031b39247
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix various aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix compile errors

Fix ISO C++11 incompatibility in TextLayoutCache and
aliasing violation in FontRenderer

Change-Id: I19a9560737005e72f706c12c0ccfdcd0c7765b06
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:

	libs/hwui/FontRenderer.cpp
	libs/hwui/ShapeCache.h
	libs/hwui/TextDropShadowCache.h
	voip/jni/rtp/AudioGroup.cpp
Fixes for clang:
PackageInfo is a class, not a struct.
String16 is contained in the android namespace. Do not namespace prefix it
within the android namespace.
Explicitly specify which std classes are necessary to prevent ambiguous
type errors. (map, set)

Change-Id: I0d01477a976e770821ebae8847f8d11b132a15d6
Fix one and hide the other warnings from core/jni

Most of the warnings are unused parameter from skia functions.

Change-Id: I9df57718d117c26b96163f751ccb056ca86ac072

Conflicts:
	core/jni/Android.mk
frameworks/base: vectorize Bitmap operations

Enable gcc vectorizing optimizations for Bitmap operations within
libandroid_runtime.so.  Adds -ftree-vectorize -mvectorize-with-neon-quad
-fprefetch-loop-arrays to functions and compiles Bitmap.cpp in ARM mode
(necessary to enable vectorizing optimizations) for appropriate targets.

Change-Id: I12defef6f47adf41af849df6e750097f5906d92d

Conflicts:

	core/jni/Android.mk

Change-Id: I7e19ffaf816d3cefe0d523dc4e258cfb27b90992
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
Vectorize bitmap operations on A15 too

 * Commit a2e20761b5ad646ce3f08ed24995799dd81acee0 enables GCC
   vectorization for bitmap operations on Krait. Enable it on A15 also.

Change-Id: I1f733f5311376deb78782931ea2b83a8d12c2171
core/jni: Clean up and optimize build flags