Fix angle calculation and Direction from angle code

(the origin of the plan is on the top left corner)
intersects -> intersectPoints
Only return points when actually on the line we're intersecting with
Use own intersection check (not awt's)
Actually set the direction (don't simply switch the previous one)