SurfaceFlinger: HWC 0.3: Strict aliasing
libgui: Bring back support for mHeap-based screenshots

Older graphics libraries throw a hissy fit when trying to lock
buffers for Surface-based screenshots, on at least Tegra2/3 and
Exynos4 hardware.

This patch depends on the BOARD_USE_MHEAP_SCREENSHOT board flag
and requires the ro.bq.gpu_to_cpu_unsupported property set to 1
in order to work.
Partial Revert: SurfaceFlinger: Bring back support for mHeap-based screenshots
gui: Add setOrientation back

this is needed for some tegra ICS and JB_MR0 prebuilts
libgui: Add setOrientation back for ICS blob compatibility
libgui: Add pre-MR2-compatible symbol for setPosition

SurfaceControl::setPosition now takes floats instead of integers as
arguments, which breaks linkability from pre-MR2 blobs. Add a direct
compatibility wrapper, since the values are treated in the same
way.
binder: Add MemoryDealer constructor for ICS blob compatibility