Improve newsletter subscription widget integration

Prior to this change, the newsletter widget would only be displayed if
the current page was *not* using https.

The new widget code integrates a form that works over https and does not
trigger browser security policies, but still has two major issues:

* imported css and js are quite heavy
* imported js is incompatible with module loaders and thus has to be
loaded in a iframe.
Add custom Markdown engine and blog UI changes

Blog UI changes in the admin, avoiding duplicate drafts and making it
easier to work on a draft blog post in two browser tabs (one for
updating the draft and another one for previewing it).

Fixes #177 and #139

Replace Github markdown service with an internal Markdown engine based
on Pegdown. Note that a custom VerbatimSerializer has been implemented
in order to write fenced code blocks compatible with the Google prettify
code highlighting library.

Fixes #473
Automatically create anchors in blog sub headlines

Create a custom Pegdown Serializer that outputs anchor links for each
subheadline in blog posts.

Fixes: #450
Enable pagination in blog admin dashboard

Fixes: #484
Rerender and resummarize all posts

Since the markdown engine changed, its output is different from the
previous one given the same input. In order to visualize all changes in
blog posts, one should be able to trigger a rerender of all posts.

This is a rather CPU/Database intensive operation and should not be
triggered by admin users.
Reinstate highlight.css for previous blog posts

Those CSS rules are necessary for old previous blog entries that didn't
use Google prettify library.
Caching WIP

Issue: