Use appdirs to manage file paths
Use separate configs for cdc/hid and debug

* This is the only solution that works with libusb on Windows
* Soft-disconnect is used to switch between configs
Remove QT IDE
Add preferences dialog, serial port enumeration
Fix warning about disconnected device
Move config file and user scripts to home dir
Rename bin->firmware
Update firmware/README
Set preferences dialog title
Return string COM ports for Windows
Add DFU image

* Generate dfu image
merging upstream