Let user connect components with lines

Triggering events of some kind will probably help. The 'd3' way of doing it would be to use [`d3.dispatch`](https://github.com/mbostock/d3/wiki/Internals#dispatch) and [`d3.rebind`](https://github.com/mbostock/d3/wiki/Internals#rebind) to allow our components to emit and listen to events. Or we could use some angular or jquery equivalent (not sure how that'd work out)? Thoughts?