Allow layers to have dependencies

In layers.json, a layer may have the property "dependencies" which is an
array of class names (`Dependency.js` is `Dependency`).

This ensures that an edit in a dependency forces a refresh of all
related layers.