Fix package.json

- Allow tests to be run by simply `npm test`
- Add devDependencies
Fix major version of d3 to v2

The current version of Rickshaw has been thoroughly tested with
version 2 of d3 not with version 3 of d3.

Rickshaw unit tests are not compatible with the latest changes in d3.
See https://github.com/mbostock/d3/pull/1044 for discussion.

References:

- About tilde version ranges: https://npmjs.org/doc/json.html
Use Rickshaw classes for Annotate, Axis.Y, Legend
Allow custom per-series strokeWidth
Re-use scale object

Instead of re-creating a new scale on each render, re-use the same
scale object and just adjust the domain and range as needed.
Keep data always sorted by x
Make Axis.Time extensible
Make HoverDetail precise

- Use d3.bisect method to efficiently find they closest data point in
  the graph.
Handle case where the data is present but empty
Allow custom renderers

args.renderer can be a function that generates a custom Renderer.
Renderers should inherit from Rickshaw.Graph.Renderer and must have the
`name` property.