View/Item/List/DynamicContainer: rendered, update mechanism, remove

The base View class now maintains a "rendered" flag set when the
view is rendered for the first time. That flag may be used to detect
whether the view needs to be updated when a change occurs. The Item
and List classes typically use the flag not to force a useless render
if the view has not yet been rendered.

Backbone's "remove" mechanism should now be properly implemented in
all views. In particular, container views propagate the "remove" call
to their children to ease garbage collection.

The DynamicContainer view implements a default update mechanism that
only re-renders the view (and re-create an encapsulated view) when
the number of items rendered changes from 0 to >=1, from 1 to
something else, or from <=1 to more than 1. This mechanism may be
overridden with a "needsUpdate" function.

More Woodman logs added throughout the views to help trace things.

TODO: Samsung's adapters have not yet been updated. As far as I can
tell, most of the views are not needed as the code is the same as
that of the TV adapter views. To be confirmed...
Merge branch 'master' of github.com:joshfire/joshfire-framework

Conflicts:
	lib/adapters/phone/ui/toolbar.js
	lib/ui/dynamiccontainer.js
	lib/ui/layout.js
	lib/view.js