ol.Filter is now a (base) class, not an interface any more

ol.Filter can now also be used to provide a simple filter that
just evaluates a user provided filter function against a
feature.
Return an empty array for features without geometry

This ensures that the static applyDefaultStyle() method works
exactly the same way as the instance's apply() method.
Use the actual value, not just the index in the array.
Adding unit tests for rule based styling