Port a handful of intrinsics to WGSL.

There are some differences between WGSL and GLSL intrinsics, so we
need to paper them over as they appear. For instance, the
relational intrinsics (lessThan, equal, etc) in WGSL use the
comparison operators directly, and some intrinsics in WGSL require
vectors where GLSL would allow a scalar. Also, some are simply
spelled differently--faceForward uses camel case in WGSL and
lowercase in GLSL.

This CL only handles a few intrinsics, but it lays the groundwork
and lets us pass several more tests.

Bug: skia:14082
Change-Id: I54ae9bc6be9bad006f722bf624f92948434c0cd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/710903
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
17 files changed