kmscube: add offscreen rendering support
It is useful to be able to render the kube without touching the KMS. For example, this allows us to utilise DRM render devices or to measure the performance without waiting for vblank.
Unlike !32 (closed) this introduces a separate flag, which allows us to test both surface and surfaceless rendering. A call to glFinish()
causes serious performance degradation in the surfaceless mode, but I assume that without this call there is no guarantee that the rendering is finished.