Dependencies of morph attributes - Fixes to state, token and dependencyTree

Starts the optional declaration of dependencies for morphological attributes. It can be configured that e.g. a `degree` attribute can only be present if `pos === adj`.

The code for it isn't good - not flexible and not really effective. It could be a valuable approach in the long run though - in addition to nested tagsets (which will receive some love in a subsequent pull request).

Includes a couple of minor, but effective changes.

- State now loads tokens in a local variable - and exposes it publically once its ready. Fixes some bugs when a tree wasn't drawn in time.
- Tokens listen to changes of their style again, e.g. when a different morphological form is selected.
- The tree draws edge labels in a directive, which is a huge performance improvement, as we don't have to draw the tree itself continously when we make changes in it. This is done through a general purpose directive called `valueWatch` which just displays a string which is a property of an object.