GRAPHICS: Create copyRectToSurface member function
VIDEO: Add an over-ridable wrapper for the AVI audio track handler

Reimplementation of 7a49802c01b0c39be4e86335689db8f3359fde68

This is based on a suggestion made by clone2727, so the original
idea belongs to him.
Engines can now override the common AVI audio track handler with a
custom one. This is needed for the Z-Engine AVI videos, since they
use a custom audio decoder that is only used in the two Z-Engine
games, and has its own fake AVI audio format (17). This clashes with
the MS IMA ADPCM format, and therefore shouldn't pollute the common
AVI video decoder code. The addition of this over-ridable method
allows the Z-Engine to add its own custom AVI decoder while avoiding
code duplication.
ZENGINE: Fix error using subRectangle.right instead of .top
ZENGINE: Disable videos until I can figure out how to fix the decoder
ZENGINE: Only skip the background moving if velocity is 0 instead of returning and skipping everything
ZENGINE: Only warp the backbuffer if we're in PANORAMA or TILT
ZENGINE: Fix copyTransposedRectToBackBuffer