Improve performance of numeric parsers by parsing to Scientific numbers

Hi Bryan,

Here's something for you to chew on. This was discussed in #50.

It refactors the numeric parsers to use the `Scientific` type from the `scientific` package I just [released](http://hackage.haskell.org/package/scientific).

This will be needed by my pull request to change the `Number` type in `aeson` to use the `Scientific` type instead: https://github.com/bos/aeson/pull/156

Let me know if you think these changes make sense or not.