update mpfr to version 3.1.2

This necessitates disabling thread safe storage, because then mpfr
stores gmp numbers in thread-local variables, which are managed by
libgc.

Close issue 21