DONE: Graph service

Problem
----------
Graph needs clean up and the client code contains lots of duplicate d3 code

Solution
----------
Create a graph service to draw graphs. And create a higher level nxt-d3-service to create recurrent tasks such a creating axis and scales.

Actions
---------
- [x] Create nxt-d3-service
- [x] Migrate code from timeline service to nxt-d3
- [x] Adapt timeline service to use nxt-d3
- [x] Create graph-service
- [x] Rewrite code from directives to graph-service using the nxt-d3-service
- [x] Rewrite graph directives to use graph-service and clean up $scope.watches
- [x] Fix intersect
- [x] Fix css
- [x] Write docs
- [x] Write tests 
Unneccesary cast: 

var stringDim = '{width: ' + String(dimensions.width) ...

... equals:

var stringDim = '{width: ' + dimensions.width ...