Remove freeDeviceDescriptor() function, which was not present in libusb, to avoid confusion.
The memory for the device descriptor is now allocated in an appropriately sized direct ByteBuffer.
The size is calculated directly in native code, to avoid any possible issues with alignment, padding or
compilers calculating something different from the expected 18 bytes.
This way users don't have to care about freeing the device descriptor, and can easily reuse the same while
looping over different devices.
Make deviceDescriptorStructSize() function package-private.
Update to libusb 1.0.18, from libusb.info. Libusb and Libusbx have now merged.
Also update eudev version to 1.4.