Add a new kernel transport driver (bthid) and bus driver (bthidbus)
to interface Bluetooth HID devices directly with the hid subsystem.
bthidbus exposes a character device interface allowing a userland
process to pass established sockets and device info to the kernel
via ioctl. bthid attaches to bthidbus as a child device, routing
incoming HID reports from the interrupt socket into hidbus.
Connection establishment (pairing, SDP querying) is handled entirely
in userland; this driver only takes ownership of already-connected
sockets.
This is currently a work in progress. I still need to implement a way for userspace to send commands to disconnect devices as well as detecting when devices disconnect.