Element array buffer and a fix

BindVertexArray should only be called once and only at the very top, so
moved it to the shader program constructor