Change XYRenderer to not assume numeric scales; add NumericXYRenderer.

CategoryXYRenderer and NumericXYRenderer now both descend from XYRenderer.
The inheritance tree now looks like this:

Renderer
    |-- XYRenderer
            |-- CategoryXYRenderer
            |       |-- CategoryBarRenderer
            |
            |-- NumericXYRenderer
                    |-- CircleRenderer
                    |-- LineRenderer
                    |-- ...

Close #240.