The UI should decide on where it wants the user directory, not our core system. This is in anticipation of some upcoming work on Android which will need proper user directory setting.
This avoids code duplication in a bunch of places . I also moved the NVIDIA Optimus export into VideoCommon.