Build zoomable and pannable SVG canvas

@andreit Sorry if my comment was confusing, I'll send a gist to explain.