GRAPHICS: Serialize PixelFormat for thumbnails and allow 4Bpp surfaces.

This allows any 2Bpp/4Bpp Surfaces to be written via saveThumbnail
and loadThumbnail now. It furthermore will preserve the loaded Surface
in loadThumbnail.
SCUMM: Silence C++11 narrowing warnings.
SKY: Silence C++11 narrowing warnings.
AGI: Silence C++11 narrowing warning.
PEGASUS: Silence C++11 narrowing warnings.
SAGA: Silence C++11 narrowing warnings.
SWORD25: Silence C++11 narrowing warnings.
OPENGL: Silence C++11 narrowing warning.
SDL: Silence C++ narrowing warnings.
VIDEO: Silence C++11 narrowing warnings.
AUDIO: Silence C++11 narrowing warnings.
CONFIGURE: Add option to build as C++11.
COMMON: Add a header for C++11 keywords for pre-C++11 compilers.

This currently adds defines for nullptr and override, so we can use them in
pre-C++11 compilers, while taking advantage of them with C++11 compilers.
KYRA: Use override in subclasses of Sound, which override voicePlay.
SCI: Fix bug #3601535 - "SCI: SQ4 CD Limited Audio in ScummVM GUI"
SCI: Fix angle rounding in the SCI1 implementation of kGetAngle (bug #3601479)

Fixes bug #3601479 - "SCI KQ6: Castle walls - stuck in same room".
Many thanks to wjp for his help on the kGetAngle implementation
SCI: Fix uninitialized variable workaround for scene 510 (bug #3575570)

A non-zero value must be used in the uninitialized variable, otherwise
the prize is awarded twice. Fixes bug #3575570 - "SCI: QfG3: Both the
player and Yesufu are declared winners"
SCI: Use underscores as substitute characters for spaces in object names

This helps in debugging objects with spaces in their names (e.g. the
"Glass Jar" object in Pepper - bug #3601090). Now, this object can be
examined like "vo Glass_Jar"
SCI: Add documentation for underscores in object names and fix a warning
TOLTECS: Whitespace fixes and explanation of some magic values