Workaround for temperature control issue

Also, removing a semicolon
Modifying serial communication to use a thread

This helps with the application not responding, with closing the
application without an error (Since it now seems to free the serial
port correctly), and with overall startup cost for the connecting
process.