backport uhid driver from linux 3.8

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

Change-Id: I60d4bd309a23dfd1558d985fa76d9699f33103ed