Refactored Login to use controller

- Introduced poor man dependency injection, so that I could inject the
controller into the LoginFragment
- We introduced a controller at a longer lifespan that the fragment
itself. The controller is very much a singleton from the app
perspective (but that’s hidden away from the Fragment)