See Vector2.js comments.