Fix #2561, int overflows in `Float::to_precision` with a high float value or a high precision.
The native implementation was removed by 9cb09ccf to support the interpreter. Since then, we added support for the FFI in the interpreter so we can bring back a native implementation.