Squashes all application logic in its modules
Makes USB Function name conventional
Tries a simple HID report
Makes the USB device beeing recognized on OS X and linux
Adds back bulk control endpoint

They will be usefull for device calibration.  Solves also a problem
where device was not automatically detected, due to a lack of wakeup
instructions.
Adds two input buttons
Go skeleton for drivers
Adds listing and opening of usb device
[WIP] Adding protocol in common header
Puts all communication related definition in a separate header file