WIP: Prevent duplicate login iframes/buttons appearing in the sidebar

The main issue here is that the LoginView was being rendered when the worker was ready, and when the SPA is connected. The view was rendering correctly on the worker being ready, but also on any change of the user object - really it should be listening to the `signin` and `signout` events of the user object, as that is really when we want to update the LoginView.

I've changed the event listening, and I've also added an additional check to ensure this doesn't happen again.

The only other thing I want to work out is why we're getting an talkilla.spa-connected message when we're not actually logged in - hence this is still WIP.