- lexer: corrected the backtracking feature: the user must call the lexer method .reject() to signal that the current lexer rule FAILED to match a suitable token. (This fixes the scenario where a lexer rule is used to skip whitespace: such a tule won't return a token, nor call more() and should still 'succeed'.)

- lexer: ._less was unused

- lexer: added the ._backtrack boolean member variable to track the invocation of reject() in the lexer action code.