Hiccup zipper cleanup.

Here is more compact implementation of hiccup zipper.
Traversal order has changed: now zipper will visit empty children collection if node can possibly have children. I believe this is correct behavior.