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.