This seems way more complicated than just having `document_filter` be a function.

Like why write

```python
class IsDeviceLogFilter(Filter)
    def filter(self, item):
        return is_device_log(item)

...
class MyFluff(fluff.IndicatorDocument):
    document_filter = NOTFilter(IsDeviceLog)
```
instead of

```python
class MyFluff(fluff.IndicatorDocument):
    def document_filter(self, item):
        return not is_device_log(item)
```