Negative number literals

Parsec has `integer` which would parse negative numbers, but is missing something negative floats, so I did this instead, based on the Parsec implementation.