Pull out gridlines to new class

Pulls out the drawing code for gridlines into its own class, ready to
add some styling methods to it.

Also updated the test to remove the chart before doing the expect() call
to make sure it gets removed properly.
Allow custom line width and colour

Adds the lineWidth/lineColor getter/setters, and hooks them in to the
gridline drawing.
Merge pull request #71 from tpkelly/master

Autosize margins
Merge pull request #73 from tpkelly/master

Refactor gridlines
Updates to sorting and mean calculations as part of the chart requirements
on the front page of the gh site
Uncouple series and chart

Pulls out the chart argument from a series constructor, and makes sure
the series has no back-references to its parent chart.
Renames chart.chart => chart.plotArea

This had been confusing me a lot, as I thought chart.chart was the same
as chart. Turns out its the HTML node for the corresponding chart, where
we add all our lines, points, etc. It makes more sense to differentiate
it by calling it a plot area.
tidied up some comments and removed computeFunction() until custom post aggregation can be rethought
Pull out tooltip

Moves all the tooltip creation code into the series itself, and has it
execute on a draw().
Removes "chart" from Axis constructor

- Uncouples the chart from the axis by removing it from the constructor,
  instead using the chart.addAxis() method.
- Moves the barPadding method from the chart to the axis
- chart.bounds now set by calculateAxisBounds, where width=[0], height=[1]
Split axes into x and y axes

Splits apart the axes property of the chart into xAxes and yAxes.
This removes the require for a "direction" in the axis constructor,
setting it when the axis is added to the chart.
Remove anchor from Axis constructor

Removes the top/left/bottom/right argument from the axis, replacing it
with the reversed() method. The anchor/orientation is now derived from
the reversed() and horizontal() methods.

The anchor and orientation values appeared to be representing the same
thing, so we now just use the orientation() instead.
Merge pull request #77 from Stavrakakis/master

Refactoring to sorting and bugfix to averaging
Fix zooming for date axes

The axis needed to have had the domain initialised in the axis draw,
before the zoom is initialised.
Merge branch 'upstream' into feature/refactor-initialisers

Conflicts:
	insight.js.zip
	src/charts/Axis/Axis.js
	src/charts/Chart.js
	src/charts/Series/LineSeries.js
	src/charts/Series/RowSeries.js
	src/charts/Series/Series.js
	tests/Axis.spec.js
Merge branch 'feature/refactor-initialisers'
Merge branch 'master' into develop