Initial commit of the new libusb plugin code.

Breaking this up so it's easier for you to review.
[in,out]? Not strictly true, but may flag it up? Thinking about it, I guess some of our DmxBuffer stuff should technically be [in,out].