Build zoomable and pannable SVG canvas

I don't think we need functions here, could we set these without using functions?