Support configuration via Dhall
There are quite a few ideas for features that might make sense to have as configuration: dynamic/static, inplace, width, etc. We can make things a bit easier if we accept the configuration as a file as well as arguments passed to the binary.
Generally, config is done via INI, JSON, YAML or some similar language. Since we're living in 2018, we might as well use a language from this decade. Dhall allows us to specify the type of configuration fairly easily. This can help people new to the tool discover what can be configured. It should also keep us honest since we won't be able to say we'll have to lock down the type of configuration in order to even parse the file.