Line-Variant Plane Intersection

Adds the ILineVariant interface.
Allows the plane intersection code to take in any implementation of
ILineVariant.