VS: Convert some global generator methods to non-virtual lookup tables
Reduce cases that depend on C++ class inheritance and virtual functions to look up VS version-specific information in the global generators. This is in preparation for making it possible to add a generator for a new VS version without sub-classing.