• Use instancing to make VBO data per-rectangle, not per-vertex.

    Doing this slightly reduces the size of our VBOs and opens the door to
    performing clipping in the vertex shader. With more clever
    optimizations, we should be able to shrink the VBO size down even
    further.
    
    This patch includes a fallback for OpenGL ES 2.1. Unfortunately, this
    fallback increases the size of the VBOs significantly. This could be
    mitigated in the future, though not without effort.
    pcwalton committed Jan 21, 2016