Refactor to GlProgram, GlType, and GlVertexAttributeArray.