Updated from visual/layout to visual/element/layout.  Updated the LayoutElement to be a subclass of a CompositeElement.
Moved the element factory into a separate package.  Updated and fixed some broken unit tests.