Initial commit of the newest View api.
Minor cleanup.
Add WebAppView to provide the new api for the web interface too.
Move QtView to a file of its own.
Move WebAppView to a file of its own.
Update all the examples according to the new View api.
Fix the tests according to the new View api.