Modified logical flow so we never have to subtract from TextPos

Cleaner flow and faster. I'm doing this so that we can easily capture the word begin/end offsets and eventually do away with all string concatenation entirely.

This has changed the number of words parsed, so there could be a bug, or there was a bug and I fixed it. I will have to verify the tokens being produced to ensure it's not missing things.

Also:
* Added paren / block tokens
Fixed numbskull mistake with low-case lookup table!
Simplification of tokens

There was enough room in a byte to just fit all the current secondary tokens in the primary one, duh. Don't know why I didn't do that sooner.

Fixed major bug with case sensitivity -- had forgot to put "Option Compare Text" on when I rearranged the classes.
Added decimal number tokenisation