Add Common/Event.h to the VS project files.
Add Common::Event::WaitFor(), which has the same semantics as std::condition_variable::wait_for() (with millisecond units).
Rewrite raw memcard threading code. Intended to fix issue 7484.

EXI memcard code now doesn't know specifics of how data is flushed to whatever backing storage is used.
GC raw memcard now flushes every 15 seconds if dirty, and on memcard destruction.
GCI folder now flushes only on memcard destruction.
Merge pull request #778 from shuffle2/fix-memcard-flush

Rewrite raw memcard threading code. Fixes issue 7484.