[WIP] modular GCD algorithm for integer polynomials

This PR is for tracking my progress on the modular GCD algorithm. It is not intended for merging. I will make a new (clean) PR when things are ready to be merged.

Any comments and suggestions on how to improve the code are very much appreciated.