Keep track of total number of GL render calls
Script interface additions:
+ entity_isDeathScene()
+ getNearestEntity()
+ entity_getDistanceToPoint()
Add color transition time parameter to fade(), fade2(), fade3()
Do not collide shots with entity if shot->firer == entity.

This check was already done if entity was ET_ENEMY,
but it seems more correct to me to check this for all cases.
Hope this doesn't break anything.
Add Lua func: avatar_isBlockSinging()
Minor refactor & add Lua funcs:

+ avatar_setShieldActive()
+ entity_isFillGrid()
* entity_setBoneLock() code made easier to read and not warn on no lock entity
+ entity_getMaxSpeedLerp()
+ entity_isEntityInside()
Remove spirit form dependency on WorldType, and add related Lua interfaces.

This commit introduces a second pause mode:
Full game pause (as in menu), and world pause (as in spirit form).
All related checks are no longer done against WT_* constants,
but against the new world pause which is functionally equivalent,
but more flexible. Continuity::worldType is now only used to toggle
world pause correctly, and to apply some related graphical effects.
The world pause can also be controlled via script without actually
switching forms.
Added Lua functions:
+ node_setSpiritFreeze()
+ quad_setPauseLevel()
+ isWorldPaused()
+ setWorldPaused()
Decouple form specific effects from the actual form.

Most hardcoded form == FORM_* checks all over the place have been replaced.
Now, forms change certain avatar properties, which are in turn checked
in the places that previously had these explicit form checks.
This allows specifying functionality via scripting, for additional forms
with new effects or a new combination of existing effects.

OT_HURT now deals damage of type DT_WALLHURT,
and by setting avatar->setDamageTarget(DT_WALLHURT, false) collision
with walls can be made harmless (exactly as nature form used to be).

Add related Lua functions:
+ setWorldType() - Change WT without actually switching to spirit form
+ setCanActivate()
+ avatar_setCanBurst()
+ avatar_canBurst()
+ avatar_setCanLockToWall()
+ avatar_canLockToWall()
+ avatar_setCanSwimAgainstCurrents()
+ avatar_canSwimAgainstCurrents()
+ getSceneColor()
+ DT_WALLHURT
Forms decoupling #2.

Added Lua functions:
+ avatar_setCanCollideWithShots()
+ avatar_canCollideWithShots()
+ avatar_setCollisionAvoidanceData()
Forms decoupling #3.

Added Lua functions:
+ setSeeMapMode()
Fix sound problems in energyboss and warning in predatorytunicate script.

Thx Diablodoct0r for reporting the latter.
Fix typos in a52b26c782a6
Fix bug introduced in 0784d1b9dff.

Thx Diablodoct0r for reporting.
Not sure if bug was harmless, maybe...
"Fix" warning in cc_sunkencity.lua

Thx Diablodoct0r for reporting.
Disable all glEnable/glDisable() calls for GL_CULL_FACE, except one glDisable() during renderer init.

GL_CULL_FACE is effectively always disabled, except for quad strip
rendering, and keeping GL_CULL_FACE disabled there does not seem
to cause any visual artifacts.
Instead, it enhances skeletal animation possibilities
(e.g. flipping bone strips over without it disappearing)
Fix regression from 7ff0caaed8.

This fixes a glitch in the final boss' last form. Due to a missing
Beam::trace() call, the beam's angle was not updated,
and it always pointed into the upper left corner.
Re-introduce AfterEffect shader functonality, part 1.

This repairs pixel/vertex shader code that was seemingly
experimented with during testing, but it was never used and no
shaders ever made it to the data files.
Fixes & enhancements to shader interface code
Add shader interface API to Lua API
vcproj update
Fix bug in shader uniform assignment