Restricted the translation command to 2 dimensions

A Sketch is always a 2D object; higher-dimensions aren't allowed.
Fixed the vertical layout specs

With a bit of documentation to clarify the desired behavior
Changed to path DSL command to accept a list of points, or a block

Moved the path command to the DSL module while I was at it
Moved Polyline DSL commands to a module

For cleanliness and reuse
Updated PolygonBuilder to use the Polyline DSL
Moved the polygon command to the DSL module
Made PolygonBuilder a subclass of PolylineBuilder
Rearranged the DSL structure

This makes it easier to add the Path and Turtle DSLs
Moved the Turtle DSL to its own file

It still doesn't quite work, and there's no real testing, but this puts it out of the way for now. I'll have to come back to it later.
Removed the edge command from PolygonBuilder

It wasn't ever used and it doesn't make sense. If there's ever a need for it, it can be added to the appropriate DSL module.
Rearranged the builder structure

This makes more sense now
Finished the Builder restructuring

Refactored the namespace layout
Removed the pop stuff that shouldn't have been added
Gave PathBuilder the rearrange treatment
Renamed PathBuilder to Builder::Path
Made Builder::Path a subclass of Builder::Polyline

This removed a lot of duplicate code. Still need to add a Path-specific DSL.
Added tests for the Polyline DSL

Removed a lot of old tests that are now redundant