Make the num module optional

Build on top of #117, and makes num optional entirely.

Having num (with one implementation: GMP) available means faster field and scalar inverses, and the ability to perform the endomorphism optimization.

Benchmarks (with --with-field=64bit_asm)
* --with-num=gmp --enable-endomorphism: 268k cycles
* --with-num=gmp --disable-endomorphism: 358k cycles
* --with-num=none --disable-endomorphism: 430k cycles

(OpenSSL needs over 1500k cycles)