Merge branch 'upstream' into develop
Create theme classes

Creates a light theme, using existing properties from the axis, series
and chart, and an abstract theme class.

Currently, the Theme only holds the structure of the theme without any
of the actual values. The LightTheme sets each of these.
Apply the theme from the ChartGroup downwards

Applies the theme to the chart group, and on to the chart, table, axes,
series, and gridlines.

Adds tests that new values are properly propagated.

Also fixed an issue with "gridLines" vs "gridlines", and an extra "-" in
@param comments.
Load default theme on init

Sets up the ChartGroup, Chart, Table, Series, Axis, and Gridlines all to
apply the default theme when they are created.

For each of these, we promoted applyTheme to a prototypal method.
Tidy up variables

Removes any local variables which are now set by the default theme.
Also cleans up the Axis setupAxisView to only set values which are not
set by the Axis draw method.
Minor comment tweaks

- Re-adds the Axis.showGridlines and Axis.colorFunction variables as
  defaults, to prevent them being viewed as Global scope
- Ditto for AxisGridlines.lineColor and AxisGridlines.lineWidth
- Uses forEach instead of map
- Fixes Table.applyTheme comment
Test empty colour palette

Small refactor to move dummyTheme into the beforeEach method.

If the theme has no colour palette, the series colours are left as
undefined without crashing. This is acceptable for now.
Properly apply palette

Applies the palette during the draw stage.

We still need to get rid of the sub series of columns and rows, as they
do not respect the provided colours.
Fix Testing issues

A few corners of the library which appear to be being tested for the
first time with unexpected parameters (empty arrays, empty strings, etc.)
50 shades of blue

Well, 5 shades.
Remove 'colour' parameter from series initialisation

The colours are now controlled by the theme, so there is no need for the
series to have its own colour.
Theme controls axis linewidth

This was previously being controlled by style.css, when it should be
inbuilt into the library.
Remove opacity from CSS

Gives the bubbles, columns and rows control over their opacity. When
drawn, each series checks if it is selected/notselected, and adjusts
opacity as required.

Also cleans up some of the overridden properties in the insight.css
Merge branch 'upstream' into develop
Fix grunt test issue

Grunt was having issues where it hadn't created a dom element, so could
not grab the classList.

Now, if there is no classList, we default to unselected opacity.
Remove "colour" parameter from tests
Merge branch 'upstream' into develop

Conflicts:
	tests/charts/Series/Series.spec.js
Respond to code review comments

- Prefer .forEach over .map, for efficiency
- Return "this" from prototypes, as we do not have a "self" to use.
Merge pull request #121 from tpkelly/develop

Wrap look-and-feel in a theme