usb: pass non device requests to function handlers
usb: simple hid implementation
usb: hid annoying mouse example
hid: remove useless callback
usb/gen-desc: honkin'-donkin' bug fixes

Metaprogramming.  In Ruby.  More complicated than regular programming.
usb/gen-desc: mark optional functions optional
usb/gen-desc: nicer output
usb/gen-desc: make LocationWrappers comparable
usb/gen-desc: add read accessor for DSL items
usb/Makefile: regenerate descriptors when generator sources change
usb: add hid support