(preliminary commit message)
This is done as a separate integer-gmp2 backend library because it
turned out to become a complete rewrite from scratch. This has been
tested only on Linux/x86_64 so far. The code has been written while
taking into account Linux/i386 and "64-bit" Windows, but will probably
need some tweaking to get right.
Also, we don't do any autoconf stuff anymore, and rely on Cabal's
"extra-libraries: gmp" to do the right thing (which probably won't work
Moreover, this is currently a big huge patch, which could easily be
split into 2 or 3 commits.