#45 tidied up Vec2 operators. moved most to member functions