This patch adds three options for printf decimal long doubles, and these
can also apply to doubles.
- Use a giant table which is fast and accurate, but takes up ~5MB).
- Use dyadic floats for approximations, which only gives ~50 digits of accuracy but is very fast.
- Use large integers for approximations, which is accurate but very slow.
Use in-place <<= or add it to UInt if missing.