Scenegraph benchmark

WIP: This PR adds a benchmark example for comparing scenegraph performance to similar optimal implementations. 

The intent is to add more benchmark examples and optimizations until we get comparable performance (or decide that we will never get comparable performance).
From the top of my head: `program.glir.flush(canvas.context.shared.parser)`