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.
Fix bad use of sub.apply and other lifecycle improvements (plus cosmetic changes in unit test)