Parsing of numbers.
Parse a double value. This is exactly the same code as in Real World Haskell, p. 400.
TODO There are some strange 'floating point numbers' running around in the wild that can not be parsed using this code. (eg.: +.5) or (+0.5)
This parser should capture floating point numbers beginning with a