ICS-58: Implement ChartGroup, remove clutter from global namespace and general decoupling

This is a pretty chunky pull.  The main functionality is the new insight.ChartGroup class, which is a container for charts and tables. It handles the events they fire, wiring them up to Crossfilter.

Chart init() has been refactored so you just call chart.draw() (I removed redraw()),which initializes the chart lazily if needed, which is the pattern we've been using more recently.

Charts can be drawn without a container, or the container.draw() can be called if there are multiple charts.

Logic for filter functions has been moved into Dimension, where it fit better.

I had to update all examples (and lots of tests), hence the large number of files changed.
Also, I think it's a little smelly to pass in an object to a function when you are only interested in one property of the object; why not just pass in the value that you are interested in?  Perhaps passing in the entire filterFunction provides more convenience?  Or flexibility going forward in case you needed to compare filterFunctions on something other than name?