Draft: Authentication and user accounts
Description
This sets the app up to integrate with a keycloak instance. In the future, this MR will be updated to either have a configurable oidc issuer or point to murena cloud in a build variant.
For the curious, this is an optional feature that we'll probably allow users to semi-permanently hide (or more accurately, demote to advanced settings). The purpose is not for tracking but for guarding expensive API endpoints behind authentication. We don't want to put e.g. a Mapbox token in the APK for traffic-aware routing, but we do want to offer traffic-aware routing, and this is how we reconcile those goals.
Technical details
We make use of AppAuth to help avoid some of the footguns associated with oidc.