GRIM: Implement the getDebugger API

This allows errors to be shown in the debugger
EMI: Implement projection shadows.
EMI: Calculate actor bounding box correctly.

This is necessary for Actor::shouldDrawShadow to behave correctly, but
could also affect collision detection.
EMI: Enable shadow sprites.
GRIM/EMI: Make Light and SetShadow structs instead of classes.
GRIM/EMI: Use Doxygen style for the comments.
EMI: Implement projection shadows for OpenGLS renderer.
GRIM: Initialize _shadows to null.
EMI: Do not print a warning if Actor::getBboxInfo is called for an actor that doesn't have a model.
OPENGLES/SHADERS: minor cleanup comment
Merge pull request #956 from Akz-/emi-shadows-rebase

EMI: Implement shadows for OpenGL and TinyGL renderers
SDL: added more safeguards for overlay functions to prevent crash between switching rendered after returning to launcher
SDL: add support for SDL2
SDL2: added support for mdvc
SDL2: revert makefile enable SDL2 to original. added instead disabling SDL audio in source code to be compatible with MSVC
SDL2: changed way how to deal with forbidden symbols
SDL2: added comment to SDL win32
SDL2: use dynamic cast
SDL2: make OpenGL forward compatible
SDL2: changed error messages, SDL return his own.