Small Vector2 changes and render bugfix

Methods in Vector2 that previously could have resulted in division by
zero now have special case logic that uses the infinity double values.

Render previously did not reset the graphics transform after it was done
rendering, and this caused a problem rendering the dev info. This has
been fixed, but I might change it later so that the transform isn't
reset after every time an image is rendered. It already gets reset
before, so doing it twice seems inefficient.