Made IBO a template class and put all the openGL code into protected functions of the base BufferObject class so the GL headers don't have to be included in the VBO/IBO headers.