Clean up of the View API

The `View` API now has the following improvements:

1. Separates the `Template` from the `View`. The template is simply an encapsulation of the HTML/AngularJS template which will be rendered with a context later. The `View` is something which 
takes a template and a context and renders it.
2. The `View` is inherited by `QtView` and `WebAppView`. Both of them have a `start` method which does all of the boilerplate work like instantiating the QApplication and starting the event loop. If someone doesn't want to call the blocking method, they can call the `create_control` public method and embed the obtained widget wherever they want.
3. Examples are updated to reflect the latest API. Each example now also has some descriptive comments about what will happen on the UI when they run it.
4. Two new examples are included:
     - An example to show embedding of jigna widget inside an existing QWidget framework.
     - An example to show model updates finding their way through the web interface.
Discussed this with Martin today - we're going to change this to `WebApp` and `QtApp` respectively since `app.start()` feels much more intuitive than `view.start()`.