Lexer: Replace Stream input with custom line-based mutable input reader
Lexer: Inline lexSymbol into lexToken to make them tail recursive
Eliminate any sources of buffering the whole program

* replace Streams with Iterators
* findings and success are now dependent on the current iterator position
  * therefore have to rearrange evaluation in unit tests
* make Lexer.dumpResults() lazy line-based