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 issue with this, still, is that a user cannot type 0 into the field right after the form is loaded. I assume that it's a much more common case that an element loses focus, than a user putting 0 in the field as soon as the device connects.

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.