Calculate the intersection of two 2D lines.
The lines are defined by two line segments, and the intersection may lie
outside either segment. I.e., for intersection purposes the lines are
considered infinite. This function does not guarantee that the intersection
point lies within the bounds of the line segments or that the intersection
point lies within some coordinate space (like world size).