restructure camera
update header ext/vec3 template