backport uhid driver from linux 3.8

the userspace HID driver is needed by the JB bluetooth stack to process input
from bluetooth keyboards.

this is tested to work on my v9 with a cheap apple-compatible (APPLE_HID) BT keyboard, but I presume it's needed by all 4.2.2 HID devices.

without uhid, the keyboard can pair ok, but then logcat complains like below and no key presses on the external keyboard do anything. with this uhid driver everything works.

    E/bt-btif ( 3022): bta_hh_co_open: Error: failed to open uhid, err:No such file or directory
    W/bt-btif ( 3022): new conn_srvc id:23, app_id:2
    W/bt-btif ( 3022): btif_hh_upstreams_evt: BTA_HH_OPN_EVT: handle=0, status =0
    W/bt-btif ( 3022): BTA_HH_OPEN_EVT: Error, failed to find the uhid driver...
    W/bt-btif ( 3022): bta_hh_co_close: dev_handle = 0, app_id = 2
    W/bt-btif ( 3022): bta_hh_co_close: Found an existing device with the same handle dev_status = 0, dev_handle =0
    E/bt-btif ( 3022): uhid_write: Cannot write to uhid:Bad file number