Simplify ConicParabolaPL to avoid degenerate situations
Simplify ConicParabolaPL to avoid degenerate situations

This makes the algorithm simpler insofar as it eliminates a huge common
factor of the resulting matrix, thus removing unneccessary singularities.
Reading geometric meaning back from the code is now tricky, though.

The following sage code snippet may serve as a documentation of how the
previous algorithm got turned into this new one.

```py
PR.<Fx,Fy,Fz,dx,dy,dz> = QQ[] # A Polynomial ring over the rationals with six indeterminates
A = vector([Fx,Fy,Fz]) # Focus point
a = vector([dx,dy,dz]) # Directrix line
linfty = vector(PR, [0,0,1]) # The line at infinity
dd = a.cross_product(linfty) # The direction of the directrix line
dp = dd.cross_product(linfty) # The perpendicular direction of the directrix line
e = A.cross_product(dd) # Parallel line through focus point in the direction of the directrix line forms both lines of one degenerate conic
b = A.cross_product(dp) # Line through focus point in the perpendicular direction of directrix line
B = a.cross_product(b) # Point B is the projection of the focus point onto the directrix line
c = B.cross_product(dd - dp) # Create both both angle bisector lines through point B from the
d = B.cross_product(dd + dp) # direction of the directrix and its perpendicular direction
C = B[2]*A + A[2]*B # Midpoint of point A and point B
deg1 = c.column() * d.row() # One degenerate conic with factors c and d
deg2 = e.column() * e.row() # Another with e as a double line
m = (C*deg1*C)*deg2 - (C*deg2*C)*deg1 # Pick from pencil to coincide with C
m += m.transpose() # Symmetrize
m/gcd(m.list())/2 # Print the simplified form, as seen in the source comment
```

For details see https://gist.github.com/gagern/5a1d6d4663c3da6f52dd

CindyJS/CindyJS,montaga/CindyJS,gagern/CindyJS,kranich/CindyJS,montaga/CindyJS,strobelm/CindyJS,montaga/CindyJS,CindyJS/CindyJS,gagern/CindyJS,CindyJS/CindyJS,strobelm/CindyJS,gagern/CindyJS,gagern/CindyJS,kortenkamp/CindyJS,strobelm/CindyJS,kranich/CindyJS,kortenkamp/CindyJS,kortenkamp/CindyJS,CindyJS/CindyJS,gagern/CindyJS,CindyJS/CindyJS,wursterje/CindyJS,kranich/CindyJS,strobelm/CindyJS,kranich/CindyJS,kranich/CindyJS,CindyJS/CindyJS,wursterje/CindyJS,kranich/CindyJS,strobelm/CindyJS,kortenkamp/CindyJS,kortenkamp/CindyJS,wursterje/CindyJS,montaga/CindyJS,strobelm/CindyJS,wursterje/CindyJS,montaga/CindyJS,wursterje/CindyJS,kortenkamp/CindyJS