Fix test suites. Add Matrix4 test suite. Rewrite Matrix4.