Focusing and refactor of dependencyTree directive

`dependencyTree` gets a couple of new features:

- tree can now be centered, focused around root or a selection and resized to perfect width of the viewport
- Directives that resize things (such as the `sidepanelFolder` now send a browser native `resize` event - `dependencyTree` is listening to it to re-calculate its hotspots. When doing crazy resizing there seem to be some kind of bugs - not really a realistic user scenario. Could be connected to #196 
- depending on the size of the tree it is either centered or resized to perfect width on load
- keyCaptures are available to trigger this behaviour
- generally accessible through icons on top of the tree canvas. Font-Awesome icons have been added to the `vendor` directory. Once we have resolved #184 we can clean this up a little and only use a font that contains the icons we need. Right now we are importing them all - and 99% of them won't be needed.

All code inside the directive has been rearranged as well. Tried to add more comments and sections where functions are grouped together based on their functionality.