Initial refactoring: moved all the endpoint and descriptor configuration
out of usb_keyboard.c into "device".
Removed keyboard-specific code from usb_keyboard.[ch].  Added an
implementation of a boot keyboard.  Added a complete set of USB HID
keyboard key codes.
Renamed "usb_keyboard.[ch]" to "usb.[ch]".
Improvements in documentation.  Cleanup of the boot_keyboard_press
method.