LibFTDI1 will give asynchronous USB interface access which benefits in speed.
LibFTDI1 depends on LibUSB1 and dependency will be checked if LibFTDI1 found.
If LibFTDI1 or LibUSB1 is not present old LibFTDI is mandatory to build...

Because main goal of LibSWD is to become part of other application,
and Application introduces additional build dependencies it is now optional.
To build Application you need to pass --enable-application to configure...

FTDI related rotuines were moved to libswdapp_interface_ftdi_init(),
so interface initialization does not contain any LibFTDI related stuff.
Blank skeleton for aftdi (asynchronous ftdi using libusb) was created.

Interface driver (structure) now contains all necessary functions to operate.
This is important for drivers other than using libftdi, they are now possible.
Existing functions based on libftdi were renamed to contain "ftdi" string.
This change makes it possible to experiment with new async libusb1 interface,
that would talk to FTDI chip directly and hopefully will increase performance.
LibSWD driver bridge now use function pointers from interface structure,
these are "bitbang", "transfer_bits" and "transfer_bytes".
libswd_driver_t was extended with (void*)interface field to hold the routines.