Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
Are trailing commas parseable by whatever JSON parsers we're using?