Add support for custom path renderers.
Keep track of highlighted data items.
Add automatic reordering based on a specific data item.

The axes of the ||-coords will be reordered based on the values in the
specified data row. The axis with the highest y-value (visually) will be
placed left. Lower values follow in descending order.
Fix unexpected brushReset behavior.

Calling brush() on brushReset leads to __.brushed being set to an empty
array. As a result, a call to render() would lead to an empty ||-coords.
This commit implements (AFAICS) the correct behavior for brushReset. It
sets __.brushed to false and calls render() in stead of brush() when the
g.dimensions are updated.
Fix a number of issues with updateAxes

The updateAxes function was only dealing with the enter and exit states of
the pc.svg.selectAll(".dimension") selection. Additionally, it would not
appropriately reapply brushable and reorderable.
Make the resize function slightly better behaving.

Although it still doesn't keep the brush on resize, it at least now
properly resets the brushes before it gets in a completely messed up state.
It also checks the flags to reinitialize properly shadows, brushable, and
reorderable after a resize based on the actual settings.