Parse shapes and path data into an intermiate structure *RSVGPathSegm.
This is neccesary to correctly draw markers, and to determine the
direction of linecaps on zero-length segments.
These operations need to the original path commands, and must be able to
walk the path forwards and backwards.
This also has the advantage of seperating the parsing logic from the
rendering logic, making both a bit clearer.
Implement the algorithm that determines the directionality of zero-length path segments.
See http://www.w3.org/TR/SVG/implnote.html#PathElementImplementationNotes
Rewrite rsvg_render_markers to operate on RSVGPathData paths,
and to make use of the new algorithm to determine directionality.