Hi Fakeley! Glad you like raylib! :D
About rlgl, it's an abstraction layer over several OpenGL versions, actually, it tries to implement an pseudo-OpenGL 1.1 immediate mode over other OpenGL versions (2.1, 3.3, ES 2.0). rlgl initializes a set of vertex buffers to accumulate vertex on every rlVertex*() call, once there is an internal state change request (texture change, shader change...), buffers are flushed, launching all registered draw calls, and the process starts again.