Support Layout and Format nodes in text and shield symbolizers

This is a potential update for review. The goal to support definition of layout and format nodes in carto, as discussed in #347. Pseudo-element sytax is used to create child elements within the symbolizers. Test cases are included, which demonstrate the syntax and resulting xml.

Note that this also requires a change in mapnik-reference. I will be adding the corresponding pull request in that repository as well.