Fix float rounding issues.

This pull request fixes the 6 failing rubyspecs in `core/float/round_spec.rb`.

The Double → String → BigDecimal → BigInteger conversion is probably not optimal from a perf perspective, but AFAICT it’s the only to get the correct precision when converting from double to BigInteger.