* shr.el (shr-parse-base): Fix parsing error.
Make <body> background colour rendering prettier.

* eww.el (eww-tag-body): Override the shr body rendering so that we can
put a background colour onto the entire buffer.
Get the base URL right when being redirected

(eww-render): When being redirected, use the redirect URL as the new
base URL.

* shr.el (shr-expand-url): Respect // URLs.
Add support for SVG images

* shr.el (shr-dom-to-xml): (shr-dom-to-xml): New function.
(shr-tag-svg): Add support for the SVG tag.
Allow customizing the <li> "bullet"

(shr-bullet): New custom variable.
(shr-tag-li): Support custom bullet in unordered lists.
Put the <title> into a page header

* eww.el (eww): New group.
(eww-header-line-format): New custom variable.
(eww-current-title): New variable.
(eww-display-html): Update header and handle title tag.
(eww-update-header-line-format): New function.
(eww-tag-title): New function.
* shr.el (shr-dom-to-xml): Fixed function call.
* eww.el (eww-tag-textarea): Support <textarea>.
Don't bug out on zero-length links

* eww.el (eww-tag-textarea): Use `text' instead of `editable-field'.

* shr.el (shr-expand-url): Don't bug out on zero-length links.
Make <li> rendering more compact

* shr.el (shr-tag-li): Don't require a new paragraph, since other
browsers don't.
(shr-expand-url): Respect #anchor links.
(shr-parse-base): Chop off the anchor before using.
(shr-descend): Respect display: none.
Support #anchors

* eww.el (eww-render): Go to the correct ID when given URLs ending with
#id.

(shr-descend): Allow marking elements that have certain IDs.
Speed up table rendering at bit

* shr.el (shr-make-table): Cache the table rendering at the table
level, and not the <td> level.  This is a bit faster.
* eww.el (eww-display-html): Default to using the entire window width.
Don't add User-Agent.

(eww-browse-url): Don't add a User-Agent header (twice), because that
makes Bing refuse connection.
Convert shr.el from using overlays into using text properties

* eww.el (eww-mode-map): Use `shr-next-link' (etc) instead of the
widget commands, since we're no longer using widgets for links.

* mm-decode.el (mm-convert-shr-links): New function to convert
new-style shr URL links into widgets.
(mm-shr): Use it.

* shr.el (shr-next-link): New command.
(shr-previous-link): New command.
(shr-urlify): Don't use `widget-convert', because that's slow.
(shr-put-color-1): Use `add-face-text-property' instead of overlays,
because collecting the overlays and reapplying them when generating
tables is slow.
(shr-insert-table): Ditto.
sieve.el (sieve-edit-script): Avoid beginning-of-buffer
shr.el (browse-url): Require `url'
eww.el (url): Require format-spec
mm-decode.el (shr-map): Silence the byte compiler