• Handle overlapping gradient stops for linear gradients

    From `addColorStop(offset, color)`s spec:
    If multiple stops are added at the same offset on a gradient, they must
    be placed in the order added, with the first one closest to the start of
    the gradient, and each subsequent one infinitesimally further along
    towards the end point (in effect causing all but the first and last stop
    added at each point to be ignored)
    
    https://www.w3.org/html/test/results/2dcontext/annotated-spec/canvas.html#testrefs.2d.gradient.interpolate.overlapu
    pylbrecht committed Dec 17, 2019