Engine: rewrote gfx mode initialization complying with free resolution

Introduced new configurable properties used to setup graphics mode.
 * Driver setting:
    * graphics / driver - driver id (renamed from misc / gfxdriver);
 * Size of actual screen resolution:
    * graphics / screen_def - sets how game determines screen resolution:
       may be "explicit", "scaling" (equal to scaled game) or "max" (equal to device/desktop size);
    * graphics / screen_width;
    * graphics / screen_height;
    * graphics / match_device_ratio - forces game to find nearest resolution matching current device/desktop ratio
 * Filter setting:
    * graphics / filter - filter id (renamed from misc / gfxfilter);
 * Game scaling and positioning factors; may be defined in either uniform or distinct way:
    * graphics / game_scaling_both;
    * graphics / game_scaling_hor;
    * graphics / game_scaling_ver;
    * graphics / game_frame - defines how game frame is positioned inside screen (window):
       may be "offset", "center", "stretch" or "proportional".
Engine: removed obsolete code

This is made as a separate commit because git diff was messing new and removed code up to the point it was too difficult to understand how logic changed.
AGS.Native: updated to comply with recent engine changes