Tokenization: refactor CharReader classes