Add basic versions of the view and list widgets

The view widget doesn't cope with formats yet, and the list widget
doesn't cope with refreshing yet.

The new design uses ListItemWidgets to represent the members of the
list in the render tree.

Rather than setting the "tiddlerTitle" context variable, the list
widget now sets the "listItem" context variable. Widgets within the
list element can then choose whether to set the "tiddlerTitle" to the
"listItem" variable using the setVariable widget.

This is all good from the point of view of making widgets be small and
interconnected, so that the flexibility comes from the combination of
widgets, rather than having insanely complex widgets that embody
complex UI logic.

It does make things look a bit more complex in some situations, but
we've always got the option of introducing custom markup or macros to
encapsulate complexity away from the end user.