Add fruitfly framework

This PR adds the [fruitfly](https://github.com/derpston/fruitfly) embedded framework to this project.

There's a config file defining some modules, and the first module is for USB HIDs. It can read key press/release events from any USB keyboard (and probably other devices) and generates corresponding fruitfly events. It handles [6kro](https://en.wikipedia.org/wiki/Rollover_%28key%29#Multi-key_rollover) in the event that the user presses multiple keys at once. It also supports modifiers like ctrl, shift, win, but curiously doesn't handle alt. This should be enough to get us started though.

I hope that we'll add another module later for the main sound sample playback, and another for the base hum. If/when we implement GPS-based speed support, I imagine there'll be a GPS module too.