Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
Please change this so that there is no `else` by doing this:
```go
if syntax == "" {
	v.Settings().SetParent(v.window)
	return
}
```
Makes the code much easier to follow, right? I'm guilty of writing code like this myself (please do fix if you spot it somewhere), but I picked this trick up from the [Effective Go](http://golang.org/doc/effective_go.html#if) document.