render proxied gl command buffers in a requestAnimationFrame callback, not onmessge