mode/bookmark: Optimize bookmark rendering.
mode/bookmark: Optimize bookmark rendering.

This saves some precious characters when printing to HTML with
Spinneret. Notable changes:
- Abstract the bookmark deletion into separate script, only call a
function from it in the button.
- Don't set classes for every element, use CSS for tags instead.
- Use URL host for its display, instead of the full URL (debatable yet
  benign).
- Use compacted definition lists for bookmark rendering.
- Only print tags if there are any.
- Ellipsize the title of the bookmark.

With these changes, serialization of 1000 bookmarks like

(:url "https://webkitgtk.org/reference/webkit2gtk/stable/index.html"
 :title "WebKitGTK Reference Manual: WebKitGTK Reference Manual"
 :date "2021-11-22T05:13:25.505081Z")

Takes 260000 characters instead of 860000, which is more than three
times more compact!

Possible future changes:
- Paginate.
- Don't print more than 1000 bookmarks in one page.
- Load our own Parenscript library to save even more space for
  script invokations.

jmercouris/NeXT,jmercouris/NeXT