be adaptive about deleting the realloc filter
Filters can only be deleted in the correct order (reverse of the order in
which they were added). Insisting on deleting the filter would break if
another filter were added after ours and is still around. Not deleting
the filter at all would break if another filter were added earlier and
attempts to delete itself later. We can play nicely to the maximum
possible extent by deleting our filter iff it is currently deletable
(i.e., it is on the top of the filter stack). Can still run into trouble
in more complex situations, but can't avoid that.