add vec2 type
Panning and zooming
Render loop