Upgraded HexLight controller to support both Serial and HID, using polymorphism.
Added error message box in case connecting to device fails
Upgraded to latest WinAPI code, with timeouts implemented
Re-worked GUI structure, added unhandled exception handling

TrayIcon is now handled by App.xaml.cs, and all windows are controlled by App.xaml.cs too.
Added better exception handling dialog
Added stack trace details to error dialog
Implemented settings dialog

Also now forces settings dialog to be displayed if an exception occurs during initialization.
Bugfix: Error handling in timer thread
Fixed bug where exception details would re-size dialog bigger than the screen.
Added support for error response packets