Allow filters to express implicit dependencies

```js
myFilter = {
  filter:    ... // The filter function.
  extraDeps: ... // A function that returns an array of observers.
};
```

An example of where I'm using it: https://github.com/Polymore/more-routing/blob/master/polymer-expressions.html#L25-33
one thing I wonder here, since we're going to call fn.apply immediately below anyway, maybe we could just pass in the `observer` as an argument to the filter. Filters would be free to ignore that argument, but if they did want to add extra deps they have a convenient way to add them. (Not sure if passing in the CompoundObserver is too much info, though.)