Refactor

- Moved logic to a new MarkdownComponent
- Changed some method visibilities to allow developers use the MarkdownComponent independently
- Added some settings to that MarkdownComponent to make it more powerful and flexible.
- Updated readme.md according to these changes