Workaround for Windows denormal bug in float_to_str_bytes_common

On Windows (MinGW32), `2.0f64.powf(-1074.0)` returns zero instead of a
denormal number, which screws up everything later on in
`float_to_str_bytes_common`.  Changing it to use `powi` works around the
problem.