Reuse scopes associated with canvases to support multiple scripts per canvas.

As described in #171.