backport uhid driver from linux 3.8

the userspace HID driver is needed by the JB bluetooth stack to process input
from bluetooth keyboards.

Conflicts:
	arch/arm/configs/cyanogen_v9_defconfig
backport lowmemorykiller from CAF msm-3.4

this improves low memory behaviour greatly due to accounting for
lowmem_reserve as well as shmem pages.
fb: trim memory size

480x800 16bit triple buffer framebuffer uses 0x234000 bytes (when
rounded up) so only need to allocate this amount. saves 744k.

Conflicts:
	arch/arm/mach-msm/board-zte-blade.c
fb: trim memory size