vao: more flexible attribpointer