Struggling to get both reports sending at once.
Finally got both reports working nicely.
Uses the same reporting scheme found in 2nes2usb - the only difference
is that I keep polling my buttons while waiting to send the next report.

Decreased the usb poll interval to 2ms, aparrently this works on linux.
I found using a scope that the microswitches I'm using bounce around alot
when first depressed, but not on release.