Vastly improved serial scan and connection routines

Connects much more reliably on Mac and Windows.  Handle serial failures
much more gracefully.  Launch and display window before checking serial
port, so that users are not staring at a "blank screen" when scanning
the ports.

Closes #10.
Closes #14.