The prior PR (#9) multiplied by `self.z` instead of `self.z.inverse()`.
Adds constraints to check that the conversion to affine coordinates happened correctly.
Co-authored-by: Nicholas Ward <npward@berkeley.edu>