implemented override on setContentInset

- This needs to also set the contentView frame to trigger a new layout.
- I also removed the dispatch_async on the layout notification because this unduly delays the change of the frame until the next runloop which might cause problems
- for the frame to be already updated I moved the super setFrame to before setting the content view. This is needed by the contentViewDidLayout: event.
- To still insure that view changes occur on main thread I added the "old style" if and calling the selector on main thread if it is not.

Generally

fixes #326