Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
Surely reading the if case once and then forgetting about it is better than reading it, and then later discovering there's an else clause when you have forgotten all about what the if case was about in the first place so you have to go back and re-read it? :)

Now, this code in particular isn't that hard to follow but with a few nested if's the complexity quickly grows