Adding threading for hardware

Extracting Serial functionality into its own object
Adding Qt threading functionality for the hardware
Renaming some methods for better code clarity