Further lexer changes
- lexer now streams file.
- lexer recognizes EOL, EOF and keywords correctly.