Fixed various LED bugs... like it not working
Added rumble support
Bad news and Good news...

Good news is this commit fixes the rumble support to not use the LED urb.
Bad news is that this causes a hang in the kernel for reasons unknown.
This is probably where I rage quit last time... since I don't believe I
ever figured out the problem. The kernel can supposedly handle multiple
urb submissions as long as they're not the same urb, even if the urb
uses the same endpoint. There is no data race for the two output urbs,
they each have their own context and resources.

However, maybe there is other implicit data races I'm not taking into account.