Windows registry is horrible to deal with and makes it impractical to pass settings to the Core when run via daemon on Windows.
- Pass settings path to Core when launched via daemon
- Introduce portable mode detection logic on Windows
- Generalize `m_settingsFile` use
- Reduce #ifdef size for Settings ctor path logic