inga_tool: Abstract calls to libusb and libftdi, support libftdi1

This change moves all calls to libusb and libftdi into inga_usb.c,
abstracting them away and adding support for libftdi 1.x, which uses
libusb 1.x (libftdi 0.x uses libusb 0.1).

In addition, libftdi1 calls libusb_detach_kernel_driver() to detach
the ftdi_sio kernel module (which provides a /dev/ttyUSB device), so
that it can access the raw USB device. Unfortunately, there's no way to
tell libftdi1 to reattach the kernel module again, so we call
libusb_attach_kernel_driver() ourselves after we're done with libftdi.

Please note that manipulating the FTDI EEPROM is currently still
unimplemented when compiling with libftdi1.