Reland "Avoid branches and early returns in $color_dodge_component"

This reverts commit 570b18e1afdabe5473aaeb437bd9fbc85eed80ff.

Reason for revert: switching to ternary instead of mix

Original change's description:
> Revert "Avoid branches and early returns in $color_dodge_component"
>
> This reverts commit 219bd10327614f0235b5f9ca994278bb6e113438.
>
> Reason for revert: mix(vec, vec, bvec) isn't in glsl 100 and should be polyfilled.
>
> Original change's description:
> > Avoid branches and early returns in $color_dodge_component
> >
> > Hopefully faster, avoids a driver bug in ARM macs around
> > using (s.y-s.x) incorrectly in the outer if condition (originally
> > triggered in https://skia-review.googlesource.com/c/skia/+/887476
> > w/o this CL), and also updates the denominator guard to use the
> > minimum norm half value.
> >
> > Bug: b/359049360
> > Change-Id: I720711e4e4133bc10eec1aaedac60c40845fbde8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/890320
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> Bug: b/359049360
> Change-Id: Icd32126d4654016f40116ff1c7a2cdca9cf3556b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/890321
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Bug: b/359049360
Change-Id: I746ea070df142b2ed58e745eca755c8adaeb3d84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/891116
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
11 files changed