Changes config to be a passable JS object

This changes configuration from overriding to a passable JS object.  It also moves the default config into Chartbuilder itself as it's not really necessary to be a configuration and they are good sensible defaults.

The main implication this has is that a call needs to be made to start the Chartbuilder, `ChartBuilder.start()` which takes in the configuration object.  Though a bit of extra code, it does mean that it is a bit easier and saner to hook into the library before things get rendered.