Support for clip path

Adds support for &lt;clipPath&gt; and the clip-path attribute. &lt;clipPath&gt; elements aren't rendered as part of the normal display but if they're referenced in a clip-path attribute then they clip the element that references them.

This implementation uses the CALayer's mask property to do the masking. This is not entirely correct since the definition of &lt;clipPath&gt; requires no alpha blending (except for anti-aliasing) while CALayer's mask property does support anti-aliasing, but most uses of &lt;clipPath&gt; don't contain alpha in their path definitions so this generally won't be a problem in practice. As a side note CALayer's mask property could also easily (and more correctly) be used to implement &lt;mask&gt;. I don't plan to do this however.

The Coins.svg sample in the demos has been changed to use &lt;clipPath&gt; to clip the images over a gray background.
If you feel this is faithful to the spec (IMHO: looks like "yes, once the SVGClipPath enum is refactored into an SVGUnitTypes header") ... move this to the "SVG-DOM" folder too.

(the idea is to put all new classes in there, after making sure they are faithful, or 99% faithful. That way, we have a "hit-list" of classes that are old/mangled/need refactoring/cleaning ... the ones living in Unported-or-Partial-DOM)