Add filter fun

@doc Apply filter fun after bbox intersection of X,Y point with Tree.
Fun should return atom true to pass the filter and be in the output
@spec filterfun(Tree, float(), float(), fun()) -> [Element]