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.
Update tests for CustomElement.