Properly support this.containerNode:

For declarative instantiation, move initial children into this.containerNode.

Also makes appendChild() and insertBefore() work on this.containerNode
rather than widget root node (unless this.containerNode is undefined).
But this only applies after widget creation finishes, because buildRendering()
needs access to the real appendChild() method.

Also, moved all code related to containerNode from delite/Widget to delite/Container.
This means that any widget that contains content (ex: Button) should extend Container
rather than Widget.  Note that the getChildren() method was moved from Widget
to Container.

Finally, made API doc explicit that Container is meant for when the subclass contains children
from the app's point of view, rather than when child nodes / child widgets are used
as an implementation detail..