This fixes a few prominent issues of the previous implementation, including
distortions when the circles touch each other and ignoring the second solution of
the equation (resulting in one side of the "tube" missing). This also implements
clipping the negative part of the gradient cone.
- Use copy blend instead of source over when paint is opaque
- some naming cleanup in Onyx2D
- don't recompute antialiasing samples if they haven't changed
- bilinear optimization to reduce fp instructions