Add a DOM pretty-printing function

* doc/lispref/text.texi (Document Object Model): Mention `dom-pp'.

* lisp/dom.el (dom-pp): New function.
Record the right URL in eww

* net/eww.el (eww): Record the new URL immediately, so that if the
HTTP fetch fails, we have the right URL in the buffer.
eww input field fixup

Fixes: debbugs:19085

(eww-process-text-input): Don't shorten the input field if
deleting at the last character.
(eww-restore-history): Inhibit change functions while restoring the history.
(eww-process-text-input): Fix deletion at the start of the field, too.
Add more sanity checks to the last eww after-change-function patch
(eww-mode): Revert mistanken removal of `buffer-disable-undo'.