Initial commit of the new libusb plugin code.

Breaking this up so it's easier for you to review.
Don't we normally have a space between the namespaces and first code?