Markdown support

+ Markdown support
+ Prompt when unsaved changes

While this works, I'm not sure if this is the best approach. It might be better to stick all the configuration and logic inside `base.php`, as it'd be more likely that someone would implement a new `provider/*` than a new editor.

Thoughts?
The current design grabs the config data for each editor from `config.php`. I don't think that is the best way of doing it, but having a function that just returns large globs of static data seems odd. Thoughts?