More Modules

Also convert NewLine to a Module with its own strategy. Add a priority
to the modules, so we can control the order in which they're executed.

NOTE: The code to sort the modules is currently not enterprise quality,
this will be improved in a future commit.