* Since 0.2.0
  - Issue a SET_PROTOCOL request during enumeration to ensure target
    keyboard is in boot protocol mode.
  - Use correct inteface number during SET_REPORT request.
  - Allow up to 32 keyboards to be attached.

* Since 0.1.0
  - Continue enumeration even if we can't use SET_REPORT to update the
    various keyboard locks.
  - Store wMaxPacketSize in endpoint descriptors so we can use them
    during requests.
  - Actually parse config descriptors and use that to find boot
    keyboard endpoints.
  - Use a callback to tell the host about new keyboard reports.
