gundam: Insert intermediate MobileSuit class to share codes

ZetaGundam and ReZEL share many common line of codes, so we should
collect them in one place.  The MobileSuit class seems conceptually
straightforward.
gundam: Enable weapon switch with numeric keys for Mobile Suits

Also we added a .nut file for common codes among ReZEL and ZetaGundam.
gundam: Add MobileSuit-draw.cpp to share drawHUD() method

In this process, we added some virtual getter functions.
gundam: Add weapon list to HUD for MobileSuit.
gundam: Make MobileSuit derived classes have own list of weapons

The subclasses of MobileSuit should be able to have distinct weapons,
but they couldn't before this commit.

Now the subclasses can return weapon parameters with getWeaponParams()
to have their own list of weapons.
gundam: Draw boost and armor gauge to the HUD of MobileSuits

The subclasses of MobileSuit do not draw health bar on top of the
objects as overlays if that information is shown in HUD, because the
bars tend to get in the way of view.
gundam: Make ZetaGundam's overlay icon specific to the Entity type
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
Add operators + and += to gltestp::dstring with C-string argument

It's expected that these operators' performances are improved,
because a temporary dstring object is not required.
vastspace: Delete unused source file
Fix ShadowMap::getAdditive() returned corrupted pointer

The OpenGLState::weak_ptr tend to make a mess.  We need to watch it to
prevent runtime errors.
Mesh: Supported multiple textures when drawing with VBO

We have done this in sufvbo.c but have not properly ported to
Mesh::draw().
Prevent MTurret::draw() from crashing the process

It should quit using obsolete precompiled .bin files and switch to
.mqo files, but in the meantime, we just make it not break everything.
vastspace: Move SpacePlane model to mods subdirectory
vastspace: Add additional texture images for SpacePlane

The images are originally for Destroyer's and we just borrowed it
for engine texture, but the module should have its own copy because
that invisible dependency will mess up things.
vastspace: Separated SpacePlane-draw.cpp from SpacePlane.cpp

Also switched model source from obsolete compiled .bin files to the
original .mqo files.