Allow single-character n-grams

Solves both #6 (numbers fail) and #7 (3-char minimum for second word).

Also, dedup tokens to avoid explosion of the same strings from both WDF
and grams.
Remove minimum 3-chars requirement.