changed CardSet to extend Keyed instead of specifying its own getKey method
changed CardSetIconFactory to operate on CardSet instances instead of String keys
made Icon extend Keyed, and added some docs for getKey()
changed WatermarkFactory to return Icon, instead of SVGDocument
move el and elatts out of DefaultLayout and into XmlUtils so they can be used other places as well
refactored to use two separate nested SVG docs, one for the field and one for the symbol, to create the combined icon
changed CardSet to allow it to specify its own set icon as a symbol/field pair, with fallback to the default text-based one if it doesn't, and reimplemented DefaultCardSetIconFactory to assemble icons from symbol/field pair.