keymap: remove struct xkb_key_redirect_action

The file src/xkbcomp/action.c already doesn't handle this action type
and fails if it encounters it. So lets not pretend to do something with
it, and ignore it rather than failing.

If we/someone wants this we can consider implementing it.

Signed-off-by: Ran Benita <ran234@gmail.com>
keymap: be more careful in xkb_keymap_unref

To allow calling _unref on the keymap in whatever limbo state it happens
to be in.

Signed-off-by: Ran Benita <ran234@gmail.com>
keymap: update builtin fields directly in src/keymap.c

This fields are part of our API and every keymap should have them, not
just xkbcomp/ ones.

Signed-off-by: Ran Benita <ran234@gmail.com>
log: change the log prefixes to more library-like

"Error: " is not very informative when intermingled with other logs. The
format that seems most suitable is:
    "xkbcommon: ERROR: %s"

Signed-off-by: Ran Benita <ran234@gmail.com>
Add X11 keymap creation function

WIP

Pass --enable-x11 to configure for now.

Can test with:
    ./test/interactive -x
which should behave exactly like your X keyboard, or:
    ./test/x11
which should be print the same keymap as
    xkbcomp $DISPLAY out.xkb
(minus some constructs we do not support.)

TODO:
- Add more asserts.
- Expand tests.
- Document.
- Commit message.

Signed-off-by: Ran Benita <ran234@gmail.com>