Remove some silly AliasWrapper deps.

Don't manually iterate servers and look up the global window,
instead just use the WindowManager to find writable root windows.

This also fixes a bug whereby aliases were never removed from
the global window.

Change-Id: I8e009e03b1d48646a01b683d20712fd042628349
Reviewed-on: http://gerrit.dmdirc.com/2834
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Use TabCompleter factories in a few more places.

This removes some static references and simplifies the
constructors of some of our model classes quite a bit.

Change-Id: Ic1644412a4956aa01b67e1129be47420c7a47b46
Reviewed-on: http://gerrit.dmdirc.com/2832
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Refactor window creation logic a bit.

Whoever creates windows should add them to the window manager
(which saves passing a 'focus' boolean into the constructor,
which is odd), and fire the relevant action event.

Change-Id: I97d143c5250df734fa3adca0c7da4d76a5c87e8b
Reviewed-on: http://gerrit.dmdirc.com/2833
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>