An iterator that takes elements as long as a predicate is true.
new(it:Iterator<T>, pred:T ‑> Bool)
hasNext():Bool
next():T