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.