better handling of mods with profiles

Previously, if there was a new profile that didn't have prefs written
to it yet, and the player didn't visit ScreenPlayerOptions, empty .cfg
files would be written which would later yield errors.

This commit takes care of that and also manages to apply all custom
mods if the player never visits ScreenPlayerOptions using SSM's
OnCommand or PlayerJoinedCommand.
allow screenshots (soon)

As noted, I'll uncomment this code when SaveScreenshot() is in the
master branch.