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
There is a comma missing here before &block :)