Switch to a design that is more focused on PageObjects

* Rather than using strings as names for page objects, and having to
  register them with the ui, and then pull them out of the ui, allow
  tests to construct the page objects directly (including passing in
  an relevant configuration), and bind the page objects to the ui.

* Rather than having even sub-page sections accessed via the top-level
  ui, make them sub-components of other page objects. So, the Studio
  outline page would provide a list or similar mechinism for selecting
  the sections inside it, and so on.
Use unittest assertions in unittest TestCases
Make browser tags optional
Add myself to authors file
Remove WebAppUI