Support scaling em's in attribute size conversions.
Refactored the text conversion code.

1. Removed unused code:
   Variables were being declared and lists being built that were never used.
   These were thrown away.

2. Clarified code as possible.
   A lot of the attribute code was doing unnecessary looping which only made things more obscure to the reader.

3. Make sure ReportLabs text gets a unicode object.
   Rather than trying to handle glyph substitution ourselves, just pass the strings as unicode to RL and let it deal with it.

4. Added support for [dy] and [dx] on Text nodes.

5. Scale the attributes with em unit sizes since we know them.
   The [dy]/[dx]/[baseline-shift] attributes are the most likely attributes to be in em units, so it seems to make sense to cover at least those properly.

6. Collapsed leading/trailing whitespace on strings.
   This should be controllable by [xml:space] (set to "preserve") but since that attribute isn't being read, the correct thing to do is to collapse whitespace.
Adding a symlink to package work around pip path handling inconsistency.
Injecting paths with close operators to deal with broken moveTos.
Support fill-opacity and stroke-opacity attributes.
Don't crash on empty tspan's.
Support for plotting absolute elliptical arcs
Fixing a division by 0 error (and indentation) in arc plotter.
Adding tests for path arc drawing.
Fixing arc sweep direction.
Adding support for relative arcs in paths.
Removing shorthand assignments to keep python2.4 support.
Change text rendering.

Fixed a bug in text color opacity handling and slightly tweaked the
way x, y, dx and dy attributes are handled.