Resize and keep aspect ration

Only OpenGL mode has been taken into account.
New options:
keepAspectRatio, boolean
cursorInBlackBandsInFullscreen, boolean
cursorInBlackBandsInWindow, boolean
cursorInBlackBandsInBorderlessWindow, boolean
Keep aspect ratio with no OpenGL

Now the "keep aspect ratio" feature functions even when OpenGL is not employed.
Correction of surface buffer size

fixed case when bpp > 8.
Merge remote-tracking branch 'supsuperorgin/master' into smaster
Merge pull request #651 from Yankes/FixSurface

Fix surface (again)
Update StartState.cpp
Update Surface.h
Fixed funding arrow bug.
New language format
I probably broke mods even harder now. :( Sorry it was for the greater good.
- Fixed fonts.
- Improved image compression.
Resource fixes.
Update Surface.h
Fixed random battle settings not saving
remove some unnecessary functions.
small fix in tallyUnits

initialize those integers as 0, just in case.
small fix for "end of turn" fire

sometimes aliens will choose to fire as the very last action of their turn,
and on starting the player turn the projectile will start travelling.
this fixes that.
introduce concept of "final facing"

the direction we want a unit to face at the END of the walk cycle.
unit->hidingForTurn is interpreted as "turn 180", but ambush or firepoint
actions may want to manually set this, so we should let them.
add a "getDirectionTo" function in tileEngine

now tiles can get directions, not just units!
make pathfinding path public so the AI can access it.

and address some paranoia
add a boolean to keep track of AI cheating behaviour.