Build zoomable and pannable SVG canvas

The `link` function will run after AngularJS has compiled and processed the DOM. So this is where one would normally do DOM transformations, etc... (https://docs.angularjs.org/api/ng/service/$compile)