Use no cancel transfer functions on windows in callback_wait
Pass only the necessary data to usb_bulk_transfer.
Don't cancel usb transfers on windows, instead limiting the longest timeout we set on them.
Use the writeioerr macro in _usb_write