Graph view d3 first pass

We can still do a lot of this better. I think we should utilize templates more but this should work!

@davidfurlong @willzeng @backens