Smartdown evaluation engine

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

This entire block should be part of the implementation of an API-object-thing that would be callable by frontend. I will be moving this to an object once this is merged.