[sksl][wgsl] Implement matrix constructors

Implemented all matrix constructor variants and overloads in terms of
WGSL matrix constructors via synthesized helper functions.

Much of this logic was borrowed from the Metal code generator which
has to deal with a very similar argument shuffling scheme.

Bug: skia:13092
Change-Id: Ic070c968dd97148d09cf13e412ae2b2ecd6590a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/631173
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
19 files changed