Common: 256 characters WFN font support
Merge branch 'refactory' into feature_common_drac_wfn
Merge branch 'refactory' into feature_common_drac_wfn

Conflicts:
	Common/font/wfnfontrenderer.cpp
Merge branch 'refactory' into feature_common_drac_wfn

Conflicts:
	Common/font/wfnfontrenderer.cpp
Common: minor additions to Stream and String

+ Stream::WriteByteCount() helper function for writing N bytes of same value.
+ String::WriteCount() for writing string into placeholder of fixed length; if the string is shorter, the remaining bytes are filled with null-terminator character.
* Renamed String::Release() method to String::Free() and made it public to allow user force string buffer deallocation when needed.
Merge pull request #63 from ivan-mogilko/develop

Bitmap, Graphics class and few update functions refactored
Script: simplified couple of operations in ccInstance::Run()
Common: introducing Array<T> class
Script: corrected function parameter type
Common: inlined Array's and String's BecomeUnique() method
Engine: Looping audio not repeating on save load
MYWAVE and MYJGMOD declared a "int repeat" in their structs so the value was saved on the wrong place. The serialization uses SOUNCLIP's "bool repeat" so upon loading a saved game the "repeat" value would be always false.
Common: Fixed possible array access outside of bounds.
iOS: Updated xcode project.
Refactored GameSetupStruct into GameInfo class
Merge branch 'develop_struct' into develop

Conflicts:
	Common/ac/gamesetupstructbase.cpp
	Common/ac/gamesetupstructbase.h
	Engine/ac/dialog.cpp
	Engine/ac/display.cpp
	Engine/ac/draw.cpp
	Engine/ac/dynamicsprite.cpp
	Engine/ac/global_character.cpp
	Engine/ac/global_debug.cpp
	Engine/ac/guiinv.cpp
	Engine/ac/invwindow.cpp
	Engine/ac/mouse.cpp
	Engine/ac/string.cpp
	Engine/ac/walkablearea.cpp
	Engine/main/game_file.cpp
	Engine/main/game_run.cpp
	Engine/main/game_start.cpp
	Engine/media/video/video.cpp
	Engine/script/script.cpp
Fixed issue raised by DKH:
"BUG REPORT: Importing a sprite, creating a room object, clicking the "..." in the image property, picking the imported sprite doesn't actually change the image property. It leaves it at the default value (0) and hides the object properties in a rather weird fashion."

This is because when choosing a sprite, when closing the sprite selector we
added a command to refresh the sprite manager (another bug fix),
which caused the sprite manager to be updated with an empty selection
which did a reset on the property grid, and that in turn cancelled the
set of the sprite.
The fix is to only reset the property grid if what selected already is a sprite.
Merge branch 'master' of https://github.com/adventuregamestudio/ags
Refactored roomstruct into RoomInfo class
Script API: global string functions return one of the parameters

Old versions of AGS (<= 2.60) allowed to initialize string variables with return values of the global string functions.
Marking the last save time of a script file to be right before closing it,
and not before starting saving it.
This way the seconds countdown used to identify an external save will not
depend on the amount of time saving the script took.