Rewrote HTML renderer using cmark_walk.

This version is shorter, more readable, and more regular.
It should serve as a template for creating new writers.

Performance is the same.  All tests pass.