Enabling full Unicode support for the lex library
For that, the NFA is now using the sparse_bitset to compile the state
transitions. This significantly reduces the compile time for the regular
expression, thus enabling the use of a much larger Unicode range for
character recognition.
The helper function anybut/1 have been made aware of
unicode, i.e. anybut/1 now recognises [`0x1` .. `0xffff`] - [but chars].

TODO: For now, astral chars are not included, as the astral planes are
very sparsely assigned.
In addition, the regexp(string) instance now accepts Unicode chars,
the previous code was only valid for ASCII chars (when using the UTF-8
encoded C-strings in the C-based grades)