Uvs ready to be merge

Performing a 3D line intersection here is very wasteful. From my understanding of this function you are only concerned with the 2D projection of the line segment and the 2D segments of the rectangle. A 2D line segment intersection test is much simpler than 3D, you should probably add one to intersection.cpp and use it here.