filterproc: Rewrite using GIOChannel

The old `poll()` loop was confusing to both humans and the Coverity Scan service.  We might as well do things the GLib way anyway.