Initial commit of the new libusb plugin code.

Breaking this up so it's easier for you to review.
Fixed. The comments are all copied direct from libusb ;)