WIP performing DVD reads asynchronously to avoid stuttering due to blocking disk reads. Not working on Wii yet and could be optimized to avoid launching a new thread for each read.
Add some support for async device calls in the Wii IPC HLE layer
Perform DVDLowRead calls in a separate thread and fix some multithreading issues by using FifoQueue.
Use a single thread to perform all DVD async reads instead of spawning one for each read request
DVD offsets need to be u64 to handle double layer Wii DVDs. Fixes Xenoblade.
Reset DMA parameters after an async read is done, not after it is queued. Fixes strange programs reading from the DVD without using interrupts like the GC Service Disc.
Merge branch 'master' into async-dvd