wayland: Emit ::direction-changed when appropriate
wayland: Emit ::direction-changed when appropriate

We always emit direction-changed when we get a new keymap, but
for state changes, we compare old and new direction and only
emit the signal when the direction actually changes.

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