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
Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1

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

Change-Id: Ic1fb024dce289e49abb7435ff118cac98844bc26