Simplify case distinctions for which arcs to draw
Simplify case distinctions for which arcs to draw

Inspired by a commit by Alexander Elkins, this code here computes the
discriminant for a horizontal or vertical tangent only if there is no point
of intersection with the corresponding boundary.  So for example if there is
no intersection with the left boundary, then vertical tangents will be
computed, and the leftern one will be included in the path even though it's
omitted from the boundary array.

The code also included Alexander's idea of unconditionally sorting the
solutions of the quadratic equation, avoiding sorting code all over the
place.

kranich/CindyJS,CindyJS/CindyJS,CindyJS/CindyJS,CindyJS/CindyJS,kranich/CindyJS,kranich/CindyJS,kortenkamp/CindyJS,kranich/CindyJS,strobelm/CindyJS,strobelm/CindyJS,strobelm/CindyJS,kortenkamp/CindyJS,kranich/CindyJS,strobelm/CindyJS,CindyJS/CindyJS,strobelm/CindyJS,kortenkamp/CindyJS,kranich/CindyJS,kortenkamp/CindyJS,CindyJS/CindyJS,kortenkamp/CindyJS,kortenkamp/CindyJS,strobelm/CindyJS,CindyJS/CindyJS