Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
Isn't this exactly the same as the [json.Unmarshaler](http://golang.org/pkg/encoding/json/#Unmarshaler) interface?