Lifecycle fixes, in particular to fix support for custom scrollableNode (and add unit test cases for it)
Destroyable updates.

- use dcl/advise rather than dojo/aspect.
- setup chaining of destroy() method in Destroyable rather than Widget.
- fix doc
Extract CustomElement class from Widget, for non-visual elements.
Remove destroyRendering() method from widget, and the preserveDom flag.
Remove Widget.toString().
Rename findWidgets() to findCustomElements().
Fix documentation errors and remove unused dependencies.

Fixes #81.
Update tests for CustomElement.   Refs #81.