Remove raw Path as valid node shape.
Use derived width and height for all node shapes.
Remove redundant code from path test.
Extract Element class from Elements.
Extract Rectangle class from Elements.
Normalise width and height of ellipses.
Extracted Ellipse and RoundedRectangle from Elements.
Extracted Polygon from Elements.
Remove redundant brackets.
Extracted Composite and ElementFactory from Elements.
Removed superfluous constructor.
Refactor Elements to use new classes. Simplify Composite.
Bring PropertySet#resolve under test.
Move expressions into their own folder.
Rename Elements and related classes to Stencils.
Start to bring Label under test.
Update todo list.
Extract StencilSpecification from PolygonStencil.
Update todo list.
Rename tests to include _test suffix.