scanner: don't strdup key names
The key name is always XkbKeyNameLength (= 4) bytes, so we can maintain
it directly in YYSTYPE union and copy when needed, instead of treating
it like a full blown string and then copy. This means the scanner
checks the length itself.
rulescomp under valgrind, before:
==1038== total heap usage: 168,403 allocs, 168,403 frees, 9,732,648 bytes allocated
after:
==9377== total heap usage: 155,643 allocs, 155,643 frees, 9,672,788 bytes allocated
Signed-off-by: Ran Benita <ran234@gmail.com>