Adding filter transformer and tests.

We should be checking if ChartData is ChartDataObservable (will soon change to just Observable) instead of checking if rows and columns are observable. ChartData makes no guarantees about exposed rows and columns accessors.