Add UTF-8 validation to Lexer