Smartdown evaluation engine

Also added a command line script in `bin/smartdown` which can evaluate smartdown.

What part of the code did you have in mind for having the responsibility for handling those?