Fixup support for USB2 on Linux via libusb. The code
is pretty ghetto with a maze of pre-processor conditionals.
But it works.
Of special note:
* You MUST build with a very specific version of libusb, the
stock libs in Ubuntu do not work. Might pull the code into
the main repo, since its pretty darned tiny.
* On Linux access controls for the USB devices is controlled
by udev, and requires a rule adding to ensure the devie can
be read/written by users other than root. A udev rule file
has been added to a 'linux' subdirectory in src.
Some of the timeouts and usb setup/reset code has been adjusted
to ensure the device is always in a consistent state. This appears
to be more important on Linux than Windows for some reason.