update lexer position when crafting word tokens

Seems that the accounting in the word tokenizer wasn't quite right and
led to downstream parsing errors because more tokens were being returned
than should have been.  This gets us one step closer to ensuring that
the word tokenization works "correctly".  It parses BASH at any rate.

This fixes #38.