Adapt to bignum package in pub
Split api.dart in parts to make it more manageable
Integration with bignum package
Refactor tests to make them use the API interfaces and the registry instead of using the implementation directly.

This allows to run the test suite against other implementations and makes all tests serve as examples to the use of each algorithm.