Add support for custom buffer sizes.

Add native window properties NATIVE_WINDOW_SET_BUFFERS_SIZE to the
perform function of SurfaceTextureClient to set the user defined size
of graphic buffers.

Change-Id: I1dc2203990a3641fbb9ddab9a86f7e9017f05270
libgui: Add support to update buffer geometry.

Add native window properties NATIVE_WINDOW_UPDATE_BUFFERS_GEOMETRY
to the perform function of SurfaceTextureClient and SurfaceTexture
to update the width, height and format of the buffer dynamically
from the client before queue buffer call.

Change-Id: I62447fcf523b507d534085cd0835f55a978c4ead
ui: Allocate the custom buffer size in the failure case also

The custom buffer size was not being honored if memory allocation
failed in the first pass.
Also - removing an unnecessary check.

Change-Id: Ie501b2dda3843454405fec05fc898fec5912bd06
Merge remote-tracking branch 'CyanogenMod/cm-10.1' into cm-10.1