cache vertex attribute info in GL program layer
automatically calculate some of the vertex layout (stride, offsets, etc.)