Migrate global init stuff into Core.

This avoids code duplication in a bunch of places .
I also moved the NVIDIA Optimus export into VideoCommon.
Indeed. Would not removing just this call be OK?