move VertexAttribData
use assert in GLBuffer::new
split glbuffer out into its own module