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.

Change-Id: I290ca4ed4787dc81ac756d9af92cd6a690865a08

Conflicts:

	services/surfaceflinger/SurfaceFlinger.cpp
	services/surfaceflinger/SurfaceFlinger.h
fix typo

Change-Id: Icedb01a9389cbb018e8c4c076e55facc28bf67e3