USB MIDI: Replace bulkTransfer with requestWait

When getting data from a device, bulkTransfer loses
~1-2% of data. The recommended approach is to use
requestWait as done in this CL.

This method also lets us remove a lock. Removing
this lock speeds up initialization, fixing a timeout
bug with CTS Verifier.

Also add a null check for UsbDeviceConnection

Bug: 231496864
Bug: 223316278
Bug: 231973034

Test: MidiKeyboard/MidiSynth to multiple keyboards
Test: CTS Verifier with AudioBox USB96

Change-Id: Ib841fd0b092e93ac5fdb7a65221ec5c2958f6171
1 file changed