Added names to some threads for debugging
Set the SWT polling thread to daemon mode

The SWT polling thread wasn't using the daemon mode and thus
stopping the JVM from terminating.
Moved the application unlock from a shutdown hook to the end of the main method
Replaced the Display.asyncExec to the SwtExecutorService in the ui swt interface