Refactor|Partitioner: Separated the concept of a line segment from half-edge

It is inconvenient from the POV of the partitioner to model a finite
line segment in the plane using HEdge. Instead it is better to model
these separately (i.e., using two vertexes and without the HEdge
API semantics) internally within the partitioner.

HEdgeInfo has been remodeled into LineSegment which now references
any HEdge constructed from it. Whilst partitioning the coordinates
of line segment are now used directly with those of the associated
half-edge being updated to match.

Todo: Defer half-edges construction until BSP leaf creation time.
Todo: Cleanup.