New lexing algorithm: “offset” instead of “anchor”.

Now, the lexer keeps the text untouched, in the same buffer/string, and
uses the `$offset` argument of `preg_match`. It avoids some `mb_*`
calls, creation of substrings for each consumed tokens, etc.

The lexer is 1.38 times faster and requires 1.27 times less memory