Pass the surface size on to the renderer
Get rid of the -3 option and rank the layouts

Instead of having to explicitly tell it to use a 3D mode, it will now
prefer one if it finds one or otherwise it will fall back to using a
2D mode but rendering as if it was side-by-side so that you can see
both eyes.
Switch to rendering es2gears instead of the two squares

Currently both eyes are identical
Reindent the renderer code
Render the gears differently in each eye