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