Block a user
lexer: rename runes.Reader to lexer.Reader and implement UnreadRune() and PeekRune()
lexer: rename runes.Reader to lexer.Reader and implement UnreadRune() and PeekRune()
runes: Implement UnreadRune() and PeekRune()
WIP: lexer: introduce StateFn, Accept()/AcceptAll() and Position to aid parsing