Upgrade Smartdown to v0.4.0

The only breaking change for `v0.4.0` was how plugin functions work, see https://github.com/alphagov/smartdown/blob/master/CHANGELOG.md

Previously a function was a lambda on state, that was called with state.

Since v0.4.0 a function is a defined concept, which can have arguments
and is parsed as a lambda on state that is called with the arguments
specified, eg

```
%{function_name(answer_1)}
```