Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
I suspect whether it makes the code more readable or not is up for debate, but I'm also a fan of early exits.