Sorry this is such a massive commit. The entangled nature of the code in pipewire.c makes it impossible to reasonably split this in smaller commits. Move all D-Bus / portals code from pipewire.c into the recently introduced screencast-portal.c.