LexerIterator for LexerStream

Changing `LexerStream`'s `next` to raise StopIteration would have broken API, so instead I made its `__iter__` wrap it in a LexerIterator.