When we talk about addRenderable, would a renderable have the data for the VBO / IBO. Where this data will actually be put into the buffer. Where the render system has a giant VBO / IBO that grows / shrinks when renderables are added. Or would it be that each renderable has its own individual VBO / IBO (the actual GPU buffers) that is used by the render system?
For sprite-based rendering, you shouldn't need to worry about vertex data at all. The render system can trivially generate vertex data for sprites because they're just unit quads centered at the origin, and since the render system is also managing texture resources, it would need to "own" the UV data for the vertices anyway. All the renderable would need to specify is translation, rotation, scale, and image resource of the sprite. Multiple renderables that reference the same image resource can reuse the same vertices. A clever render system could atlas multiple sprites into the same texture resource, so that the only state that needs to change between rendering individual sprites is the transform.