Backport of #8512

non-promoting comparisons for BigInt and BigFloat
Backport of a0b004651cbcdbb6828f5c93b4158ed2e80c295c

use eval loops and implicit conversion for defining gmp and mpfr methods
Backport of 454f8a16dfa97b7445b952d772e5d83ac90bd584

include Float16 in gmp/mpfr methods
Backport of 1aad63427dfa4edd1c8c41a7210e1fef3324701f