Allow return key in login dialog

The login dialog does not respond to the return key. Instead the user
have to press the OK button in order to submit the dialog. We should
allow the return key to be used as well.

Teach the login dialog to respond to the return key.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Start worker thread only if not yet started

The worker's start method can be called multiple times. Once the worker
thread is started subsequent calls will throw an exception.

Don't attempt to start the worker thread if it's already running.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Use worker thread when connecting

Connecting to the server can take time and should be done on a separate
thread. This is already done in the startup thread when the program
launches, but we should use the worker thread since connect can be
called again from any other thread.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Add server menu with connect and disconnect items

It is not possible to connect or disconnect from the UI. We should allow
this since the user might want to connect or disconnect during the run
time of the program.

Create a menu called Server and add connect and disconnect items to it,
which connects or disconnects to the currently selected client when
activated.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>