Shift some pythag functions into Triangles module
might need a quaternion to do some computations
Refactoring quaternion methods to be more functional
Nearly done refactoring
Port Quaternion unit tests