Implemented the ability to allocate SpiceUsbDevice instances by passing an open file descriptor
in order to support the modern Android USB device permissioning scheme.
During the process, a handle obtained by a call to libusb_wrap_sys_device() is stored in the SpiceUsbDevice instance.
A call to libusb_open() is skipped if there is already a handle present in the SpiceUsbDevice instance.
Finally, on Android, the option LIBUSB_OPTION_NO_DEVICE_DISCOVERY must be set prior to the call to libusb_init() as per libusb documentation.