Clojure style lazy-seq in JavaScript, inspired by Streams in SICP.