Common: modification to String's Section methods

+ Methods for constructing new string from other's section;
+ FindSection() method (made of code previously found in ClipSection and TruncateToSection);
* Truncating to non-existing section now empties the string;
* renamed few function parameters

Also
* Assigning zero-length string to new string object does not make a buffer allocated
Engine: introducing Version struct

All version comparison and output are now made with the use of Version objects, instead of C-string literals.

Savedgames now contain not the current engine's version, but lowest forward-compatible version, so that earlier engines could load saves made by advanced versions, if that is applicable.
Version is still written and read as a string. Any change here will require revision of game file and savedgame file formats.
Engine: keep version string in Version object

Also fixed compilation for Windows Release build.
Engine: fixed Version::MakeString()
Convert some char** to const** to clean up the build process (courtesy of Scott Baker)
Merge pull request #56 from s--d/master

Applying const modifier to function arguments in alfont.c
Script: RuntimeScriptValue::WriteValue() should not write raw pointers
Increased Version number to 3.30.0000
Editor: updated AGS.Native version and DLL
Update Debian changelog with new version number.
Merge branch 'master' of github.com:adventuregamestudio/ags
AGS.Native: fixed room saving

This supplements commit 158507683a3640b5059ee8d98f240df8b3569ba9
Common: fixed loading of compressed sprite file by SpriteCache

This bug seem to have existed for quite some time already. The only reason it was not noticed is that when game is compiled, a sprite index is included as well, which provides a table of offsets; therefore the sprite file was never fully read. The problem will arise only if the sprite index table is missing, or ignored for some reason.
Script: temporarily disabled check for globalvar references beyond data buffer

"Metal Dead" game fails to pass this check. The error will be suppressed until root of the problem is found.
Script: merged three ccInstance methods in sake of execution speed

Engine profiling indicated that there's a significant overhead due big amount of function calls during script execution.
This change, although increases size of ccInstance::Run(), noticeably improves synchronization between sound and visual animation (particulary important for cutscenes), and makes script-heavy game run a tad better in general.
Merge branch 'master' into develop
Merge remote-tracking branch 'ags-hub/develop' into develop