Remove duplicated logic
Reduce clicking (but not eliminate)

Addresses issue #10. Clicking is much reduced, but it's still possible
that it can occur sometimes. I'm still undecided on whether the best
approach here is for both filters to share the input/output caches, or
whether they should each have their own. At any rate, it's clear that
resetLastIOData() should *not* be called when the filter state changes,
that is responsible for most of the clicking.