Proposed fix for collision detection

Added cast to float in extent_x and extent_y initializations.
The straddles() method now checks all four points for intersections.
Removed use of projection() within projectOntoAxis() as it appears to be unnecessary?