BASE: Destroy singletons on exit.
GRAPHICS: Don't try to delete static BDF data.
GRAPHICS: Take ownership of fonts passed to FontManager.
BASE: Free TTFLibrary singleton on shutdown.

This uses a helper function because TTFLibrary is internal.
OPENGL: Don't leak surfaces.
GRAPHICS: Only accept JPEG CompressedQuickTime PICT opcodes
CRUISE: Move cursor update to upper "idle" loop in main function.

This is the first part of the patch supplied by Ignaz Forster on
bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.

Hotspots passed during the idle loop do _not_ give any user feedback
without this patch.

The original patch has been split to allow for better understanding of
the changes and to allow fine grained bisection if this introduces any
regressions.
CRUISE: Modification to main loop to update cursor, even in FastMode.

This is the second part of the patch supplied by Ignaz Forster on
bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.

This removes the check for fastMode from the cursor update code and
other code in this "idle" loop, and moves it down to qualifying
only a few of the function calls.
CRUISE: Fix update of background animations while waiting for user.

This is the third and final part of the patch supplied by Ignaz Forster
on bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.

The removal of the continue statement fixes the update of background
animations while waiting for user to respond i.e. try opening a locked
door on the upper deck of the boat and check the sea background
animation, but it also has the side effect of allowing hotspots to
respond during this period if the user clicks fast enough.

However, this bug was also present in the original interpreter, and
a workaround has been added to inhibit this.
DREAMWEB: Move all of the mouse cursor related code into a separate file
DREAMWEB: Slight cleanup
SWORD25: Correct stack dump debug function output.

This was introduced by the change from C++ output streams (<<) to
Common::String output. Thanks to salty-horse for finding this.
GRAPHICS: Fix BMP getPalette function definition.

The BMP decoder getPalette function definition is now identical to
the other image format decoders subclassed from ImageDecoder.
This also fixes a overloaded virtual warning reported by salty-horse.
KYRA: Fix crahes in Kyra 1-3 and LoL when EGA/CGA graphics mode is selected.

This is a regression from 86a817beb5eef248c5f5e28f18133db802a59c2e.

Formerly Kyra always queried the render_mode and initializes its Screen
functionality accordingly, even when the game actually only supported VGA.
While in the "Edit game..." options only VGA was selectable, the global options
still allowed for example EGA to be selected and thus messing up the internal
state. I only check the render_mode setting for EoB 1 and 2 now, which are
the only games which support the setting inside Screen.
Add another English demo version of the Humongous Interactive Catalog.
CONFIGURE: fix typo in --with-freetype2-prefix help message
PS3: Fix build using lastest ps3toolchain
SCUMM: Fix bug #3493317 by removing assert() in detection algorithm.

Bug #3493317 ("SCUMM: Detecting Loom PCE without 16bpp support crashes")
is caused by an assert() in detection algorithm. In case an MD5 is found
the md5table, but the variant from the md5table is not found in
detection_tables.h this assert triggers. However since certain variants
can be left out compile-time this situation can occur. By ignoring
instead of assert()-ing the entry ScummVM will no longer abort but
continue the detection process.
Merge pull request #234 from BenCastricum/master

SCUMM: Fix bug #3493317 by removing assert() in detection algorithm. 
AUDIO: Fix seeking in QuickTime files with multiple edit lists