refactored line.intersection to use basic linear equation, works for sloped, vertical and horizontal lines
rectangle.intersections(rectangle) works
fixed issue where vertical line could not find intersection; rectangle.overlap(rectangle) should be working now