Add layout nodes.
Initialize elements instead of creating.
Initial hook up with layout engine.
Rename enumerations to avoid name clashes.
Add layout sources to build.
Implement node layout passes.

- Callback and data pointer provided for handling post layout.
- Request layout will return the "root" node for performing a layout
  sometime in the future or null if no layout is needed.
Switch controls to the new layout passes.

Implemented the post layout callback to apply size
and position updates after a layout has completed.

Request a layout of a child when adding to a parent container.
Add function to remove element child.
Remove control's layout node when removed from parent.
Add common measure function.
Fix compile errors.
Support setting layout type on a Node.
Implement 'layout' property for Views.
Remove some logging.
Use the group window container as the root.
Merge branch 'layout-wip'