Ongoing Viewer widget work

1. Make the new Viewer follow the new API style of other widgets.
2. Fix Sandcastle examples so that they all run.
3. Fix specs.