The CompanionAppsController provides the API for pairing a companion app.
For the UI this patch adds a companion-app dashboard component that allows for:
* Pairing a companion-app via qr-code
* Listing paired companion apps
* Forgetting paired companion apps.
Please note that there is currently no mechanism in place to block a companion app. Forgetting the app will delete it, but the app can simply reconnect via the oauth token that is still on the device.
For blocking we could:
* invalidate the oauth credentials so the app simply no longer has access to the api
* Not delete the device entry, but instead have a "blocked" state.
TODO:
* I suppose there is a lack of tests