[WIP] Proper Audio/Video Dumping

Screwed up the previous PR, replacing with new PR

Old notes: https://github.com/dolphin-emu/dolphin/pull/1183
GetTicks() isn't accurate. We queue a SystemTimer event for the VI interrupt (which is already delayed a bit). In this interrupt, we set an async flag for the GPU thread. This dumping will be done on the GPU thread, so you'll get the complete CPU-GPU distance as offset.
I think this is out of the scope of this PR, but keep care to handle a small variance.