Feature/auth

Authentication service and login page. Currently all pages are considered private and can only be accessed by authenticated users.

The first authentication in a day must be done against the CouchDB server. When that succeeds, the username and a hashed version of the password are saved in local storage and are by default used in all next authentication attempts of the same day, so the user can login without the need for an internet connection.

Maybe `logout` should be its own state?