Implement plugin handlers for VirtualDiscFileSystem + fixes

Changes to VirtualDiscFileSystem:
 * Separated to its own file to add more complexity.
 * Allow drive letters as filenames in recentIsos (sped up testing.)
 * Support a .ppsspp-index.lst file to match up LBAs (this makes Trails in the Sky and others work.)
 * Implement some things / fix some bugs (thanks @Kingcom.)
 * Adds plugin overrides on a per-file basis.  This allows patching, logging, and archive packing dynamically at runtime.

Added a quick .ppsspp-index.lst generator from an iso as well as a sample plugin here:
https://github.com/unknownbrackets/ppsspp-virtfs-tools

An example use case would be games that commonly have a large file that is either indexed by a TOC or hardcoded indexes.  This makes it easier to test individual hacks (for romhacks and translations) rapidly, rather than having to have a build process each time for the thick archive.

-[Unknown]