libhackrf: Rework hackrf_cpld_write to use new firmware interface

We now use a separate USB configuration for CPLD updates. To avoid
misuse of the interface, hackrf_cpld_write is now a one-shot call,
expecting the entire CPLD buffer. The library will then take care that
the device is placed in the CPLD update configuration and the entire
buffer uploaded. Unfortunately, this means that users of the interface
will have substantially fewer opportunities to provide status updates to
the user.
hackrf_cpldjtag: Update for new hackrf_cpld_write interface
hackrf: Enter cpld_update from main loop

Otherwise we never respond to SET_CONFIGURATION
hackrf_usb: Make main loop non-blocking
hackrf_usb: Update transceiver_mode on all configuration changes