Clean up page UI, fix several state transitions

Separate a "status" page from the error page.  While we're doing async
ops, we bounce to the status page.  For example, this now occurs
between approving the hostkey and requesting a channel, when trying
noninteractive authentication mechanisms, etc.

Switch to the new error page on all errors.

To make this all saner, don't do transitions on connection state
changes; instead, make all transitions as the result of async
operations.