split layouteditor.ts into multiple typescript files

- split out LayoutEditor classes into multiple files.

- created a _dependencies.ts file to properly handle dependency order.

- created PropertyTool which operators on PropertyPanel and allows the
PropertyPanel to be at a much lower level in the hierarchy.
PropertyPanel no longer uses a Style (as Style is above it in the
hierarchy)

- InteractionHelper is now bundled with layouteditor.js