Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
Sorry, I'm reading this pull request backwards for some reason so my comments are out of order :)

Consider again making the if statement an "[early continue](https://github.com/limetext/lime/pull/353/files#r16934028)" instead. Related reading [Arrow Anti Pattern](http://c2.com/cgi/wiki?ArrowAntiPattern)