Interim commit - added Vector2D.dot() dot product - untested