Temperature control and Serial communication fix

The first commit fixes a SpinCtrl element, where if the control lost focus when the content was empty, it would default to 0. This caused the printer to drop temperature.

The second commit is an in-progress fix, although I need it to be tested in other build systems. This forces the part that actually communicates with the serial device to be in a thread. This doesn't solve all issues, but it did solve one issue I saw which was an error message that was produced if you quit the application with the printer window open and connected.

Also, I removed a semicolon.