merge Approximations, split Line, impl circumcenter

Moved all the dimension2 Approximation implementations into
Approximations trait.

Split up Line.scala into: LineLike, LineSegmentLike, Ray

Added implicit -> operator as a shortcut for making TwoPoints instances.

Implemented Triangle.circumcenter
add LineLike.arbitraryRaySegment