Create a new line segment struct that contains two Points in either 2D or 3D space. Also create an implementation of the Intersect trait for testing whether two line segments intersect, and where.