Refactored complete control of redraws and binding

Handled in the chartController entirely now, which simplifies things and
makes extension easier. Ensures that all elements get redrawn if any one
element needs to redraw.

Adds a filter attribute for axis which allows the data to be
pre-filtered to produce the axis results. Take the name of a scope
function to pass the data to.