Fix floating point parsing.

Not completely finished, but it can parse numbers not in the range
(-1,1)