Interfaces for creating new filter classes.

### Create a new Filter

1. Create a new module and set `FilterAPI`, `GraphAPI` and `UtilitiesAPI` as dependencies.
2. Create a new builder class by implementing `FilterBuilder`, this class is basically a factory that will create filter instances on demand.
3. Add @ServiceProvider annotation to your builder, that it can be found by the system. Set `FilterBuilder` as the annotation parameter.
4. Create a new class that implements either `NodeFilter`, `EdgeFilter` or `ComplexFilter`.
5. Fill `getProperties()` method in your filter, it should expose all properies that can be set by users and have an influence on the filter execution.
6. If you need a user interface for your filter, fill `getPanel()` method in the builder.