audio: Introduce linear interpolation filter to reduce audio artifacts

The functionality can be chosen whether to use at compile time via
macro definition switches in wavemixer.cpp.

The console variables g_interpolate_sound and g_interpolate_sound_3d
are also introduced to enable or disable the functionality at runtime.

The static sounds (which are played back with playSound()) and 3-D
sounds (which are played back with playSound3D()) have separate settings
for interpolation.

Sound sample interpolation requires fair CPU power to achieve, but
modern CPUs will do that without sweat, especially multi-core ones,
which benefit from multi-threading.

It makes noticeable difference in airplane flying sound when the speed
reaches 200 m/s.
audio: Fix addsound() and playSound() to return correct sound IDs

The returned ID (actually, channel number) could be used to manipulate
the sound after it started playing.  The same thing is already done in
3-D sounds.
audio: Add isEndSound() to query if a played sound has finished

It's the same functionality as isEndSound3D() added at c05e740,
but this time it's for static sounds.

Also quitted exposing internal functions in wavemixer.cpp.
Fix occasional access violations in sqserial_findobj()
audio: Make isEndSound() accessible from Squirrel scripts
audio: Allow stereo Ogg Vorbis sources to be loaded into sound buffer

Both static and 3D sound accept them, but 3D sound mixing engine
ignores the second and later channels.

Note that Microsoft WAV files with stereo channels are still not
supported.  They won't be supported any time soon.
audio: Fix static sounds causing clicking noise
motioner: Fix wtltest project being unable to compile

The project wtltest in motioner subdirectory has been unable to compile
since source re-organization of Mesh class.
Luckily, we can fix it by adding some entries to the project's list of
source files.  We have to add a #ifdef conditional block to make
Mesh-draw.cpp buildable, though.
Add mirror_copy_tree.py utility script for Metasequoia modeling

The script helps to make symmetric models with complex bones.
Typically, humanoid models tend to have fair number of bones and
nearly symmetric along X axis.
Make glTranslated() accessible from Squirrel scripts

Previously, translation is only possible with glTranslate() which
takes a Vec3d argument.  It works, but not very straightforward
as OpenGL API.  We add the OpenGL API compatible version of the
translation function although it's a bit redundant.
Add MODs loading mechanism

The MOD makers can provide __init.nut and __initClient.nut to the
corresponding directory in mods subdirectory to register additional
MODs without changing codes in the main scripts.
Move loading scripts for gltestdll and surface into mods directory
Move gltestdll and surface modules to mods subdirectory

Also renamed gltestdll to vastspace, for it's a good chance to rename
a module.
surface: Move surface demo script to mod directory
vastspace: Move vastspace demo scripts to mod directory