An iterator that keeps elements based on a predicate.
new(it:Iterator<T>, pred:T ‑> Bool)
hasNext():Bool
next():T