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.
4 jobs for !590 with wip/carlosg/numlock-state in 24 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Review
failed #306963
check-commit-log

00:00:24

 
  Build
skipped #306964
build-mutter
 
  Test
skipped #306966
can-build-gnome-shell
skipped #306965
test-mutter
 
Name Stage Failure
failed
check-commit-log Review
 * [new tag]         3.33.1     -> 3.33.1
Checking out a2ea2238 as refs/merge-requests/590/head...

Skipping Git submodules setup
$ ./.gitlab-ci/check-commit-log.sh
From https://gitlab.gnome.org/GNOME/mutter
* branch master -> FETCH_HEAD
Missing merge request or issue URL on commit a2ea2238
ERROR: Job failed: exit code 1