Exposes filter functions so they can be easily overriden

the _chart.filter(_) function is nice, but it's not reusable at all.  This exposes each portion of the filter function as necessary.  Also gives some code reuse when encountering the array filter.