Calculator: improve precision/accuracy trade-off.

This includes multiplication and division in things which should not be
rounded to our determined precision. While this doesn't break any
current tests, it might lead to some surprising floating-point issues.

On the other hand, the other way led to some surprising results where

418.10 / 2 != 418.1 / 2

Hopefully there exists a better long-term solution which we'll find soon
enough.

Addresses issue #509.
Calculator: fix mis-construed style for numbers with initial 0.

There should never be a thousands separator in that place, so don't
allow one.  This was a bit masked by taking all of the numbers in
combination which gave them more context.

Testing a number individually exposed the error.
Merge pull request #510 from mwmiller/calc_precision

Calculator: improve precision/accuracy trade-off.
Calculator: use proper quoting of regex chars.

The old version clearly worked, but it was clunky and somewhat
inexplciable.  While reading up on something else, I discovered `perldoc
quotemeta` which resolves this in a much more predictable and correct
way.
Calculator: refactor the output preprocessing.

I think this makes it somewhat easier to follow the intent here.  We're
just trying to convert these two known strings into different output
formats, so wrapping that up seems like a good idea.
Calculator: superscripting for arbitrary terms.

This would be better with some proper parsing, but this resolves some
issues with the current HTML output, making it raise things to
arbitrarily high superscripting levels based on what it seems to look
like.