Added whitespace token and changed the buffer slightly

The has_text and match_text functions no longer reset the peek pointer after they execute, and the lexer now resets the peek pointer after testing for each token.