make mapped_memory_cache a class not struct for consistency with other singletons
fix build on windows by ensuring singleton base is exported (avoids inconsistent dll linkage error)