Fix bug in Serial Port init not using correct baud rate.

The serial port initialisation was origionally hard coded to use the
application settings for the baud rate.  This has now been updated to
use the baud rate passed in on class construction.
Fix bug where error message wasn't being passed to OnErrorRecieved().
Fix crash when recieving error messages.

The error message was being recieved off of the UI thread so attempting
to refresh the UI caused a crash.  This has been fixed by adding an
invoke to force this to the UI thread.
Fix issue where UI was not updating correctly.

Update TimerUI to always run to ensure that the UI is kept up to date
and not rely on it being started at certain points.
Fixed bug where the mirror up CheckBox enabled state was not updated.