Forward-port surface dithering from CM10

This allows the use of 16-bit color displays without excessive color
banding; behavior can be controlled by the persist.sys.use_dithering
property.

Incorporates http://review.cyanogenmod.org/19532 from CM10 as well as
code removed in upstream commit 1b03149.

Change-Id: I290ca4ed4787dc81ac756d9af92cd6a690865a08
Revert "surfaceflinger: Enable dithering if persist.sys.use_dithering=1|2"

This reverts commit db5cb803185ccaa7f7af1688c0901a0f90d32ccc.

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

Change-Id: If32ef33e816a837a9fb2bd8446f61ff161a7a7a1
Merge branch 'cm-10.1' of github.com:CyanogenMod/android_frameworks_native into cm-10.1

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

Change-Id: Ie90e3bc162442a086cd4428bb86c000fb8c12200