[canvaskit] In Canvas2d, move matrix to internal canvas

This is similar to how Chrome does it - more or less unapplying
the matrix as it changes to keep everything in the same
coordinate space.

We still need to keep the matrix around for things and do the math
ourselves for things like gradients.

This simplifies a bunch of logic, which makes me happy.

Bug: skia:
Change-Id: I66ee379a501cc6701f51c0f0b51d4e0634a4a692
Reviewed-on: https://skia-review.googlesource.com/c/174843
Reviewed-by: Florin Malita <fmalita@chromium.org>
4 files changed