doc: try to clarify some subtle points

Which to choose: xkb_state_update_key() / xkb_state_update_mask(). If you
use update_mask(), you don't (and shouldn't) use update_key().
If you use update_key(), be careful not to have unmatched UP/DOWN
calls; this can bring about stuck modifiers etc.

Probably want to use XKB_STATE_{MODS,LAYOUT}_EFFECTIVE. The others are
only useful in very special cases.

Signed-off-by: Ran Benita <ran234@gmail.com>
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 be 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>