Must manually swap frame buffers now. doFrame no longer does this.

This is to support reading offscreen buffers in the batch renderer.