Engine: fixed few exceptional cases on gfx mode initialization

Provided error handling in following situations:
* failure to create software driver
* user-requested gfx filter name is identical to existing one except for scaling number
* max supported resolution is smaller than base game size
Common: simplified few Bitmap member functions

This also corrects Bitmap::CreateTransparent() behavior which caused problem when called with color_depth = 0.
This fixes crashing inventory window called by old InventoryScreen() script function.
Engine: fixed calculation of max vertical coordinate in letterbox mode
Added Changes.txt
Updated build version (3.3.0.1164)
Script: SCMD_CALLOBJ permits arguments of 'plugin argument' type

This fix adds missing permission for runtime values of "plugin argument" type to be passed to the function, expecting object pointer. "Plugin argument" is technically a 32-bit value received from plugin, that may be cast to a pointer (e.g. C-string). This is not safe on 64-bit platforms, but there's nothing we can do at the moment (plugin interface must be completely rewritten to achieve compatibility).
Engine: tidying game configuration

* In GameSetup struct changed chars to bools (where appropriate);
* Renamed several variables to better reflect their meaning;
* Made engine_init_screen_settings() function be called only once, before trying to create a gfx driver for the first time.
Engine: log out user's device resolution and supported gfx modes
Reimplemented letterboxed-by-design game mode.

Previously I misunderstood the meaning of the letterbox option in the game properties. It appears it was used to create letterbox mode as a part of game design.
This letterbox-by-design is now applied simply by making AGS pass higher resolution to the graphics mode initialization procedure. This works only for 320x200 and 640x400 games (they appear as 320x240 and 640x480 respectedly, with black horizontal borders).

This feature itself was designed in a rather awkward manner, and its future is unclear, but we leave it be for compatibility with older game projects.

This technically reverts commits:
91513cd9bb0b831d865f5b1553cacd35a86fc759
078ec5e6e3030c489c96a5b05d3a9529b97c36e9
Engine: fixed speech config option

Was broken by dfd272a5453b7438177141135dae38049e64aef1