Functional hierarchical zipper, with navigation, editing, and enumeration. Port of clojure.zip to JavaScript.