Base.MPFR: avoid reading the global defaults unless necessary (#56095)
Another follow-up to #51362.
Make sure the global default precision and rounding mode are only
dereferenced when necessary (when there's no relevant scope, in the
ScopedValues sense).
Currently this change doesn't result in performance improvements,
presumably due to how costly the access to a `ScopedValue` currently is,
but the idea is to avoid the cost of the dereference when possible.
Once ScopedValues are better optimized by the compiler, I guess this
would also result in better effects in case it's known that a call is
within a ScopedValues scope.