Add Custom Directive Validation Functionality

- Margin.cs: Used to add a control to show the ruleset file path
- MarkdownBackgroundParser.cs: Load the ruleset file; the entry point of
the validation
- MarkdownParser.cs: The actual implementation of the ruleset validation
- DirectiveRuleset.cs: The definition and implementation of the ruleset
- Utilities.cs: just some constants
- MarkdownMode.csproj: Add two more items to the project