Glir queues at Canvas instead of Context.

Whole system is more canvas-centric. There is a notion of an active canvas and canvasses make themselves active and deactive at the right moments so that gloo objects gets associated with the right canvas in an intuitive way.

Fixes #617 and fixes #600
Move to top of the file -- or does that break something?