deprecate old dock layout and add new dock layout
remove dock bar handling from old layouts.

this code never made it into a release, and so is safe to remove.
stage out the old docklayout api
start handling the new DockLayout classes
update the staging checks
update api imports
add an independent NodeVisitor class
update the new dock layout classes

This adds a base LayoutNode class which adds some nice traversal
functionality. It updates the layout validator to use the NodeVisitor
base class. It adds two functions to convert between the old and new
layouts when running in deprecated mode.
Use a node visitore for build-save layout
Disallow dock bar docking in old layout mode
Finish adding support for new DockLayout
convert to and from old layout when in old layout mode
fix typo
validate layout on procedural apply
update example
add a check for nested splitters with same orientation
add start of layout ops
add more dock layout operations
break ref cycles on destroy
update the dock layout operations