Support forcing all screenshots into a CPU consumer

Looks like a full GPU path is less efficient on some GPU
drivers that we're still using, and CPU is reliably faster...
(there's probably a locking condition going on somewhere, this
needs to be looked into)

Change-Id: I8878796a117d65bf2324507cf8755cadce49f6dc
exynos4: getphys implementation on buffermanager for samsung omx

Conflicts:
	include/media/hardware/HardwareAPI.h
	include/ui/GraphicBufferMapper.h
	libs/ui/GraphicBufferMapper.cpp

Conflicts:
	libs/ui/GraphicBufferMapper.cpp

Change-Id: I88db141e29a50986bee8d9555d145d1f92ea6ecf
Squashed fixes for additional hwrotation

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 25.11.2012 12:11 AM
    surfaceflinger: Reimplement hwrotation

Author: Hashcode <hashcode0f@gmail.com>
Date: 11.12.2012 1:33 AM
    surfaceflinger: odd hw rotation (90/270) patch for swapping width/height

    This patch works in addition to the following commit
    re-implementing ro.sf.hwrotation:
    https://github.com/CyanogenMod/android_frameworks_native/commit/7d283431efffc4402cb1a6cacf5da64729c883bb

    When using values of 90 and 270 for ro.sf.hwrotation the
    LCD width and height also need to be swapped to display properly.

    NOTE: This patch does not fix the initial startup of bootanimation

Author: Clyde Tan <bokbokan@yahoo.com>
Date: 30.12.2013 1:49 AM
    Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 04.01.2014 5:44 AM
    surfaceflinger: Consolidate display orientation compensation hooks

    Dedupe rotation calculation code and make rotation a statically
    available property in the DisplayDevice

Conflicts:
	services/surfaceflinger/DisplayDevice.cpp
	services/surfaceflinger/SurfaceFlinger.cpp

Change-Id: Ic517ab0d2c05026cd6fa46d664aab7926be17b62
surfaceflinger: Unbreak the ABI

 * Adreno is calling eglSwapPreserved, don't break the ABI.

Change-Id: Iaf300e2530534602910b9593b1c9136ed75559b5