change to operator overloading for vec2 operations and add tostring and ostream operator