Multiple additions and improvements

The commits messages should be relatively self-explanatory.

There is just one thing I haven't figured out yet: how to automatically apply styles for the application window. In my project I'm explicitly calling [self.window applyNUI] but I believe there ought to be a way to call it implicitly in NUI's core framework. Any tips to fix that?

Thanks!