Add WGSL support for ES2 geometric intrinsics.

This completes WGSL support for all intrinsics in GLSL ES2.
WGSL lacked some scalar versions of intrinsics like `refract`, much
like Metal, so these are polyfilled as necessary, using the Metal
polyfills as a guide.

Bug: skia:14082
Change-Id: I73f1195383f5583de9905f59accc81621c62e9d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/716997
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
8 files changed