[sksl][wgsl] Struct type and global variable declarations

Initial support for struct types and global module-private variable
declarations.

Also added code for array declarations to enable the Structs.sksl test
file. More array declaration tests will be added in a follow up.

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