Add support for both non-rendered and rendered shortcodes

There were some issues with how all shortcodes were pushed through the markdown processor.

This commit introduces new syntax:

* `{{< >}}`: Typically raw HTML. Will not be processed.
* `{{% %}}`: Will be processed by the page's markup engine (Markdown or (in future) Asciidoctor)

Fixes #480