Extend inga_tool to support libftdi1

This changeset extends inga_tool with an abstraction layer that supports compilation with both libftdi 0.x (using libusb 0.1) and libftdi 1.x (using libusb 1.x).

In addition, an issue present on newer systems with libftdi 1.x and libusb-compat 0.1 has been fixed, where a simple USB reset was not enough to make the ttyUSB device reappear. Since libftdi calls libusb_detach_kernel_driver() to remove the ftdi_sio module from the USB device in order to get raw access, it is also necessary to call libusb_attach_kernel_driver() on program exit to reintroduce that kernel module to the USB device.