Replace the old login windows with the new widget.

This doesn't really change the code that does the work, so there's
still lots of refactoring to do, and the event filters to rewrite
(there were two. Don't need that when we have signals).