* Use __utf8_mark to lookup the final patch for utf8 codepoints.
* Use __utf32_clz_to_len to compute the number of octets needed to encode
a given Unicode codepoint in utf8, rather than inefficient ifs.
* Use static buffers (libc provides MB_LEN_MAX for the matter, and we know
the special keys names won't be longer than 32, so avoid silly p_new's).
* Rework APIs to work with those static buffers, and return a boolean to
tell if conversion worked.
* Factorize ksym XK_* to string conversion using ad-hoc macros.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>