Implement shape(left, top)

The shape DSL now accepts:

  * No arguments (left and top default to 0, 0)
  * A left and top
  * A left, top, and some styles
I reviewed the code, and now I see what you mean, regarding formatting: I'd be happy to update this PR with the when statements indented.