bug fix: we should not reset vertex attrib, instead, in
glVertexAttribPointer, when the current array buffer binding is not
zero, we must call real function because, the app might call
glBuffer{Sub}Data that changes the buffer data.