Build on top of #117, and makes num optional entirely.
Having num (with one implementation: GMP) available means faster field and scalar inverses, and is required for the endomorphism optimization.
Benchmarks (with –with-field=64bit_asm) for verification:
- –with-num=gmp –enable-endomorphism: 253k cycles
- –with-num=gmp –disable-endomorphism: 345k cycles
- –with-num=none –disable-endomorphism: 432k cycles
(secp256k1 in OpenSSL needs 1523k cycles, Ed25519 needs 231k cycles)