Improve audio backend management

Oskar Vihriälä requested to merge improve-audio-backend-management into main

Create a AudioBackend class and make pulseaudio a implementation of it to make code more c++ like and modular.

Also in hopes of fixing bluetooth sync issues where the current system is unable to report/react the playback latency of the hardware output properly

Merge request reports