Enforce half timeout sized sleeps in usb_read if we find the device is not respecting libusb timeouts to avoid polling frequently.
Sleep right up to the timeout instead of the first half if we find ourselves polling in _usb_read
Define a minimum polling time based on frequency of mandatory updates of ftdi responses at 40ms.
Check for zero timeout in usb read.
Check for zero timeout on _usb_write.