Added extremely rough TokenStream while I work out the design details on how tightly it should be coupled with the lexer and reader