Add support for SVG ellipse elements.

Closes #1675
Add support for patternUnits attribute.

The patternUnits attribute defines how a pattern's coordinate system is
defined (x, y, width, height). This is particularly important when using
repeatable patterns in SVG. This commit adds this attribute to the lists
of known properties.

Closes #1548
Add 'patternContentUnits' to SVG attributes.

Closes #1702
Added missing SVG attributes: fill-opacity, font-family, font-size, opacity, stroke-opacity.

Closes #1557