Add a PrecentageToken node, distinct from DimensionToken.

... to tell 12% apart from 12\%.

Also more tests and fixes.
Rename stuff
Rewrite the parser