more robust serial conn establishment

Instead of trying to establish the serial connection in the Board constructor,
delegate this to a separate `setup()`. (**API change**!)
This allows the user to add listeners to the Board’s `error` event, which
signifies that the connection could not be established. (This was already
intended, but wasn't possible, as far as I can tell.)
Also displays a more intuitive error message.