Fix sign warnings for maximum.
Fix sign warnings for maximum.

Here, both precision and i are uint32_t, but we should determine
whether `9 * i` can be greater than precision. We're inside a
`for (; i < blocks; ++i)` loop, and within a
`if (i < blocks - 1) { ... } else {` branch. Therefore,
`i == blocks - 1`.

`blocks == precision / 9 + 1`, so `i == precision / 9 + 1 - 1`,
so `i == precision / 9`.

Therefore, `precision - 9 * i == precision % 9`.

Therefore, we can safely change the type of maximum to uint32_t.
We also need to change the type of k. Because maximum is [0, 8],
`9 - maximum` is [1, 9], so this change is also safe.

This helps below, as append_c_digits() takes `const uint32_t count`
as its first parameter. As before, `index += maximum;` doesn't trigger
sign warnings with MSVC.

ulfjack/ryu,ulfjack/ryu,ulfjack/ryu,ulfjack/ryu