fbo-blit-after-swap: New test for partial blits after a buffer swap

Supports a "no-swap" command-line argument; see below.

The clutter/cogl libraries try to minimize the area that gets updated on every frame.
They do this by doing glBlitFramebufferEXT() from the back buffer to the front buffer.

However, this is buggy with software rendering if there has been a
buffer swap *before* the first blit from the back buffer to the front
buffer.  In this case, Mesa fails to copy the fake front buffer into
the real front buffer before doing the blit.

The test does this:

1. Clear the back buffer to blue.

2. Copy the back buffer to the front buffer, by default with a buffer swap (see below).

3. Clear the back buffer to green, and draw a red square in the middle.

4. glBlitFramebuffer() just the red square from the back to the front buffer.

This test supports a "no-swap" command-line argument.  With this
argument, step (2) will be done via a full-frame glBlitFramebuffer(),
instead of a buffer swap.  This exposes another bug with hardware rendering, at
least on Intel graphics.