Add support for waking up a host via USB HID.

This functionality originated in pull request:
https://github.com/arduino/Arduino/pull/1488/

Jesse can attest to the functionality (tested on OS X 10.8, 10.9, and
Windows 7 but doesn't have the background to verify the implementation
fixup 8046224297ca6a5d151ddf79c5fa98a6674b89ba
Updates to the keyboard usage page for HID to extend the range of
available keys & add comments

Originally from https://github.com/arduino/Arduino/pull/1488/