Use a back-buffer for rendering
Use a back-buffer for rendering

This speeds up the rendering process tremendously. Re-rendering the canvas is a simple operation.
This implementation is slightly native, in that it always renders the whole area. The API on GtkView is optimized for rendering only part of the screen. This interface is left intact and the implementation is simply a full update and re-render.

amolenaar/gaphas