gdk: Refactor redirection code
gdk: Refactor redirection code

This will make future patches easier

alexlarsson/gtk,grubersjoe/adwaita,Lyude/gtk-,davidt/gtk,davidt/gtk,jigpu/gtk,grubersjoe/adwaita,jadahl/gtk,alexlarsson/gtk,Adamovskiy/gtk,Adamovskiy/gtk,bratsche/gtk-,alexlarsson/gtk,alexlarsson/gtk,davidt/gtk,Lyude/gtk-,ahodesuka/gtk,chergert/gtk,Distrotech/gtk2,davidgumberg/gtk,Adamovskiy/gtk,alexlarsson/gtk,chergert/gtk,davidt/gtk,Sidnioulz/SandboxGtk,bratsche/gtk-,Lyude/gtk-,jigpu/gtk,davidgumberg/gtk,Distrotech/gtk2,Adamovskiy/gtk,Adamovskiy/gtk,jadahl/gtk,Lyude/gtk-,Sidnioulz/SandboxGtk,bratsche/gtk-,ebassi/gtk,davidgumberg/gtk,Adamovskiy/gtk,simokivimaki/gtk,grubersjoe/adwaita,jessevdk/gtk,alexlarsson/gtk,chergert/gtk,Distrotech/gtk2,ebassi/gtk,grubersjoe/adwaita,jadahl/gtk,bratsche/gtk-,jigpu/gtk,chergert/gtk,simokivimaki/gtk,davidgumberg/gtk,Sidnioulz/SandboxGtk,msteinert/gtk,jadahl/gtk,ebassi/gtk,msteinert/gtk,davidgumberg/gtk,grubersjoe/adwaita,jessevdk/gtk,alexlarsson/gtk,ahodesuka/gtk,Distrotech/gtk2,Sidnioulz/SandboxGtk,chergert/gtk,jessevdk/gtk,simokivimaki/gtk,Sidnioulz/SandboxGtk,jadahl/gtk,jigpu/gtk,ahodesuka/gtk,davidt/gtk,jigpu/gtk,grubersjoe/adwaita,msteinert/gtk,davidt/gtk,jadahl/gtk,ahodesuka/gtk,davidgumberg/gtk,jadahl/gtk,grubersjoe/adwaita,Distrotech/gtk2,ahodesuka/gtk,grubersjoe/adwaita,jadahl/gtk,ahodesuka/gtk,simokivimaki/gtk,ahodesuka/gtk,jigpu/gtk,Distrotech/gtk2,Lyude/gtk-,jigpu/gtk,Lyude/gtk-,jessevdk/gtk,chergert/gtk,msteinert/gtk,Lyude/gtk-,davidgumberg/gtk,jessevdk/gtk,jigpu/gtk,davidgumberg/gtk,bratsche/gtk-,bratsche/gtk-,msteinert/gtk,alexlarsson/gtk,chergert/gtk,Adamovskiy/gtk,simokivimaki/gtk,msteinert/gtk,Lyude/gtk-,ebassi/gtk,Adamovskiy/gtk,jessevdk/gtk,Sidnioulz/SandboxGtk,simokivimaki/gtk,jessevdk/gtk,ebassi/gtk,ahodesuka/gtk,ebassi/gtk,chergert/gtk