title: Why is `doesFilterPass` not being called in this custom filter
body: <p>It's my understanding that when <code>filterChangedCallback</code> is called that the grid filters the current data and calls <code>doesFilterPass</code> and <code>isFilterActive</code> as it does so.</p>
  
  <p>Here I have column that uses a custom filter, and a floating filter. The floating filter (a checkbox) gets displayed ok, and when I click on it <code>onFloatingFilterChanged</code> in the custom filter is called, the green filter active icon appears, and the grid refreshes, but <code>doesFilterPass</code> does not get called at all and I can't figure out why.</p>
  
  <p>There's something fundamental I'm not getting with custom filters so if anyone can shed any light on this I'd be grateful.</p>
  
  <p>(Edit: it may be the interplay between the custom/floating filters that's at issue. There was a similar ag-grid-angular issue <a href="https://github.com/ag-grid/ag-grid/issues/2469" rel="noreferrer">posted to github last year</a> but nothing came of that. So perhaps it's a bug?)</p>
  
  <h3>Custom filter</h3>
  
  <pre><code>export default class BooleanFilter {
  
    init(params) {
      this.params = params;
      this.valueGetter = params.valueGetter;
      this.filterChangedCallback = params.filterChangedCallback;
      this.status = false;
    }
  
    onFloatingFilterChanged(status) {
      this.status = status;
      this.filterChangedCallback();
    }
  
    getGui() {
      return '&lt;div /&gt;';
    }
  
    getModel() {
      return this.isFilterActive() ? { filterType: 'boolean', filter: this.status } : undefined;
    }
  
    setModel(model) {
      this.state.status = model ? model.value : '';
    }
  
    isFilterActive() {
      return this.status === true;
    }
  
    doesFilterPass(params) {
      console.log(this.status, params);
    }
  
  }
  </code></pre>
  
  <h3>Floating filter</h3>
  
  <pre><code>export default class FloatingCheckboxFilter extends Component {
  
    state = { status: false };
  
    handleToggle = (e) =&gt; {
      const { target: { checked } } = e;
      const { parentFilterInstance } = this.props;
      this.setState({ status: checked });
      parentFilterInstance((instance) =&gt; {
        instance.onFloatingFilterChanged(checked);
      });
    }
  
    onParentModelChanged = (parentModel) =&gt; {
      this.setState({
        status: !parentModel ? false : parentModel.filter
      });
    }
  
    render() {
  
      const { status } = this.state;
  
      return (
        &lt;input
          style={{ marginTop: '0.75em' }}
          type="checkbox"
          checked={status}
          onChange={this.handleToggle}
        /&gt;
      );
    }
  
  }
  </code></pre>