refactor whitespace handling in the parser

using a `lexeme` combinator
actually use `consolidateInterp`
start over with a new syntax