Support SGM files, disable texture options, new modelcompiler tool

# Support SGM files:
@Luomu added the option to export a file from the ModelViewer called `SGM` which bundles all of the preprocessed model/material/etc data into a single file for quicker loading. However he never enabled loading of it by default in the engine

# New modelcompiler tool:
This can convert individual models or it has two batch modes for processing _ALL_ of the models in the `./data/models/` sub-folders.
> "usage: modelcompiler [mode] [options...]\n"
> "available modes:\n"
> "    -compile          [-c]          model compiler\n"
> "    -batch            [-b]          batch mode output into users home/Pioneer directory\n"
> "    -batch inplace    [-b inplace]  batch mode output into the source folder\n"
> "    -version          [-v]          show version\n"
> "    -help             [-h,-?]       this help\n"

Running it with `-b inplace` outputs the `.sgm` version of the file into the same folder as the `.model` originated from. This might not be what you desired as `.sgm` files are loaded in preference to `.model` files and will NOT automatically pick up any changes you make to your models, textures or other files.

# Disable texture options:
This is in response to the issues #2829 & #2435. All textures checked into GitHub are now DDS so I have added warnings to check that the GPU/driver supports them and error out if not.
This comes along with the `SGM` support since it bundles the textures and materials into it thus making extracting them that little bit trickier.

Andy