move the call site of DockLayoutValidator

This moves the validation to a more appropriate place. It also removes
the need to add the dock item children before setting the layout when
initially creating the dock area.
add the runner module to sys.modules

this allows items defined in __main__ to be pickled