fix a few small memory-leaks when opening the USB device
Free the USB device list, do not call libusb_exit() when not really
terminating, don't call libusb_init() more than once (no need
without libusb_exit()). Also handle canceled usb-transfers and free
their memory.