Use overloaded create functions to avoid breaking clients code

Breaking changes happen whenever we add a new field to FormatConfig
Add StrictMode option to bypass wrong lookups

StrictMode means:
- no look up into original string to get original form of literals
- no integrated comments and directives