json: Make lexer's "character consumed" logic less confusing