Move settings reading/writing to settings class from main window

Required for windowless app
Background service, part 1
Background service, part 2

Add JSon.NET dependency, move settings to ProgramData, add ability to install/uninstall service
Service can reload settings when they're changed externally
Better service logging
Wait for file to be ready for processing

At least 500ms should pass since last write. Otherwise file is most likely being written at the moment and we can't process it yet.
Service uses its own set of settings

Custom threads count, process priority and optimization level
Add most service settings to GUI