[IMP] website.theme: close the modal when the user clicks outside or presses escape

Backport of 96adeaa
[IMP] website.snippet: snippets can be split into separate templates and be called into the snippet list or in a demo page

Backport of 52ca425