use Xkb for keyboard mapping
Follow up from #371 (now changed title).
This is what Xephyr does / will be doing soon: [http://lists.x.org/archives/xorg-devel/2015-December/048155.html] / [https://patchwork.freedesktop.org/patch/67342/].
This should allow us to workaround limitations in the core API, like having just 8 keysyms per keycode (see #1607#comment:3).
This would help with #387
See also #856
For wayland servers: #387
https://github.com/xkbcommon/libxkbcommon
See also #2597
This needs doing because the group mapping is now done better in the non-x11 lookup! See eaa3f03a2ccb8e9dc2d583a9bb2913de8c3c1dc5 and #4639
We may already want to add support for the very poorly documented XKLAVIER_STATE via: https://www.freedesktop.org/wiki/Software/LibXklavier/
wrong key sent when multiple keyboard layouts are configured