widgets.standard: automatically track created dockwidgets

We're going to share the dockwidgets save/restore code so prepare for it
by generalizing how we track a window's child widgets.

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: remember the user's custom layout

Teach the base class to save and restore dockwidget state.  This allows
the DAG to share this feature.  This makes it so that the widget layout
is saved and restored, which means the DAG will now how it was last
arranged.

Signed-off-by: David Aguilar <davvid@gmail.com>