backends: Move numlock persistence handling here

We used to have wayland-specific paths for this in src/wayland, now we
have ClutterKeymap that we can rely on in order to do state tracking,
and can do this all on src/backend domain.

This accomodates the feature in common code, so will work on both
Wayland and X11.

!590
4 jobs for !590 with wip/carlosg/numlock-state in 12 minutes and 32 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Review
passed #336088
check-commit-log

00:02:10

 
  Build
passed #336089
build-mutter

00:04:20

 
  Test
passed #336091
can-build-gnome-shell

00:03:38

failed #336090
test-mutter

00:06:01

 
Name Stage Failure
failed
test-mutter Test
-------

87/92 mutter:core+mutter/stacking / mixed-windows FAIL 5.38 s (exit status 139 or signal 11 SIGSEGV)

--- command ---
G_TEST_BUILDDIR='/builds/GNOME/mutter/build' G_TEST_SRCDIR='/builds/GNOME/mutter/src' MUTTER_TEST_PLUGIN_PATH='/builds/GNOME/mutter/build/src/compositor/plugins/libdefault.so' catchsegv /builds/GNOME/mutter/build/src/tests/mutter-test-runner /builds/GNOME/mutter/build/../src/tests/stacking/mixed-windows.metatest
-------

ERROR: Job failed: exit code 1