Uniter: extract Filter

This is trivial: I just put it behind an interface, moved it to its own package, and put the tests in a _test package.