ParserDefinition format field.

This loads and saves a multi-line string to an INI file. Better storage of default values in parser. A const ParserDefinition is used to store default values in the parser. Plus, the values didn't need to be wstring as they were previously.
Partial support for a format specifier.
Aligning works by using the '|' character.

The code is *very* ugly but it works for now. Currently it only looks for the first | on the lines with $(PARAM) in them and does not comply with the flag in the ParserDefinition. Needs support for literal | characters
Moved formatting out of the parser callbacks.

The callbacks now returns a map. This map consists of keyword/vector pairs, eg {"$(PARAM)", ["p1", "p2"]}. The formatBlock function then uses this + the format string to generate the document block.
Starting to cleanup formatBlock()
Update stringReplace()

It now changes the string in place and also returns a reference to it.
Tweak format variable replacement.

$@ for command prefix, $| for alignment marker, and $PARAM for a parameter field. The intention was to use a single character for the command prefix ('#') and the alignment marker ('|'), but extra logic would be needed to add in literal characters for those. (e.g. "\|" or "||")
SettingsDialog and font changes.
Update Readme