Add desktop support to eww

* net/eww.el (eww-desktop-remove-duplicates)
(eww-restore-desktop, eww-restore-reload-prompt): New variables.
(eww-mode): Set up desktop mode.
(eww-desktop-data-save, eww-desktop-data-1)
(eww-desktop-history-duplicate, eww-desktop-misc-data)
(eww-restore-desktop): New functions.
* net/eww.el (eww-desktop-misc-data): Use `cl-remove-duplicates'.
(eww-history-limit): New variable.

* net/eww.el (eww-history-limit): New variable.
(eww-save-history): Use it.