Fix crash that occurred during shutdown if the USB device was disconnected during streaming.

Basically, the transfer would be cancelled and freed, but uvc_stop_streaming
would simply come back and attempt to cancel it again, with disastrous results.
This fix resolves that problem, and resolves potential races that could occur
between the transfer callback and uvc_stop_streaming.