Add plugins to the Markup Generation

Allow plugins to implement ICanChangeMarkup to be inserted in the Markup generation to enable Markdown extensions.

Also added made it so that it can scan a Plugins folder to pick up the plugins so that they can remain independent of the main app.