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 25 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Review
failed #314220
check-commit-log

00:00:25

 
  Build
skipped #314221
build-mutter
 
  Test
skipped #314223
can-build-gnome-shell
skipped #314222
test-mutter
 
Name Stage Failure
failed
check-commit-log Review
 * [new tag]         3.33.2     -> 3.33.2
Checking out e5c3f3a7 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 e5c3f3a7
ERROR: Job failed: exit code 1