Move datapoint functionality to new module, update it to explicitly use update and enter selections, and add placeholders for event based interactions with the controls. Contributes to #13.
Move extended chart functionality to prototype rather than instance, use same pattern for controls and model.
Hook controls up to graph. Large step for #13.

* Add node EventEmitter functionality to the Controls object.
* Add DOM event listeners for 'change' events on the controls
  * Add a custom DOM event 'programmaticChange' for updates to the year select input from the year range input.
* When the controls change update the accessors.
* On accessor update fire an EventEmitter event with the new accessors.
* Bind that event to the chart prototype 'updateAccessors' method.
* Have the chart 'updateAccessors' method redraw the appropriate parts of the chart.
* Update the 'labelAxes' function to handle label updates as well as label creation.