Modified Vector2 to include dot product and normals. Created Triangle class with (untested) collision detection with point, rect, circle, and triangle.