added rotateUnitVector2D and getSignedAngleBetweenVectors2D functions