Rewrote and optimized the lexer to solve any problems. Changes remain untested thoroughly, however the parser was able to parse 3 files that it is did, so I will assume this works alright for now. The biggest change was making sure EOF returned correctly.
Made a quick change to hasMore() in TokenStream to have it use peek(), since they are the same thing.