Interruptible media preview
Relegate media playback to a background thread; turn AVEngine into a singleton; make AVEngineFFmpegMPV cache a wrapper for the most recent playback process so that it can be stopped if another comes along.