Stop relying on haskell-src-exts for pretty-printing.

As detailed in the comments on #3, after extracting code blocks and
URLs with HSE, we now re-parse the file simply looking for diagram
URLs, compile them, and exact-print the file back out if anything
changed.  This gives us a much simpler and more reliable way to
guarantee that we don't change anything other than what we're supposed
to change.

Closes #1.
Closes #3.
don't print an extra newline when there are no error messages