math: Add vec3 functions