[sksg] 4x4 matrix support

Refactor the scene graph transform hierarchy to support 4x4 matrices:

  * rename current Transform to TransformEffect (operates as a render tree effect)
  * introduce a new Transform abstract base class, to replace current Matrix
  * refactor existing Matrix as a Transform specialization
  * introduce a new Matrix44 Transform specialization
  * refactor the existing composition helper (ComposedMatrix) as Concat,
    a Transform specialization (using composition instead of Matrix inheritance)

Change-Id: Ic3c1b499e10a0a229a7a76d4bef3dbc6a8b49194
Reviewed-on: https://skia-review.googlesource.com/c/182666
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/modules/sksg/tests/SGTest.cpp b/modules/sksg/tests/SGTest.cpp
index 1b6e4f9..0d614ff 100644
--- a/modules/sksg/tests/SGTest.cpp
+++ b/modules/sksg/tests/SGTest.cpp
@@ -61,7 +61,7 @@
          r2     = sksg::Rect::Make(SkRect::MakeWH(100, 100));
     auto grp    = sksg::Group::Make();
     auto matrix = sksg::Matrix::Make(SkMatrix::I());
-    auto root   = sksg::Transform::Make(grp, matrix);
+    auto root   = sksg::TransformEffect::Make(grp, matrix);
 
     grp->addChild(sksg::Draw::Make(r1, color));
     grp->addChild(sksg::Draw::Make(r2, color));
@@ -129,9 +129,10 @@
     auto color = sksg::Color::Make(0xff000000);
     auto rect  = sksg::Rect::Make(SkRect::MakeWH(100, 100));
     auto m1    = sksg::Matrix::Make(SkMatrix::I()),
-         m2    = sksg::Matrix::Make(SkMatrix::I(), m1);
-    auto t1    = sksg::Transform::Make(sksg::Draw::Make(rect, color), m2),
-         t2    = sksg::Transform::Make(sksg::Draw::Make(rect, color), m1);
+         m2    = sksg::Matrix::Make(SkMatrix::I());
+    auto t1    = sksg::TransformEffect::Make(sksg::Draw::Make(rect, color),
+                                             sksg::Transform::MakeConcat(m1, m2)),
+         t2    = sksg::TransformEffect::Make(sksg::Draw::Make(rect, color), m1);
     auto root  = sksg::Group::Make();
     root->addChild(t1);
     root->addChild(t2);