Reworked static methods to be DRY, renamed *len* to *mag*, reworked .mag() to use .dot, updated README.md, fixed Vector2D.dot custom test