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
2 jobs for master in 4 minutes and 1 second (queued for 20 seconds)