TokenIterator: allow calling the scan method from inheritors

I need advanced ways of scanning the tokens (for example negative lookahead farther than -1).