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.
vastspace: Move ContainerHead models and textures to mods directory
vastspace: Make ContainerHead models refer textures by relative path

The textures are shared with main executable, so we can refer to them
by a relative path.
vastspace: Separated ContainerHead-draw.cpp from ContainerHead.cpp

Also switched model source from obsolete compiled .bin files to the
original .mqo files, just like SpacePlane.
vastspace: Deleted rough LOD model of hexcontainer.mqo

It saves a tiny number of polycount, but it affects the performance
very little since vertex buffer objects (VBOs) are introduced.
In addition, it requires distance measurement and determination of
model, which requires CPU load (not GPU computed) and does not
parallelize well.
vastspace: Add initialization script to ContainerHead

Also converted fixed size arrays of containers and engine positions to
std::vectors in order to support variable size customization by the
initialization script.
vastspace: Add initialization script to SpacePlane

Also replaced redundant axis rotation matrix with negative scaling
in SpacePlane::draw().
vastspace: Corrected calculation of the hit radius for ContainerHead

ContainerHead has a variable geometry which have made it difficult
to compute hit radius for each instance.  Now we provided a very
basic way to expect the radius.
Move MTurret class definition to dedicated header file

MTurret and GatlingTurret have been exposed to all sources that include
just ArmBase, but that's not desirable.
Update MTurret model drawing method

The old method required precompiled .bin files which are obsolete.
The model is demonstrated in demo2.nut with Assault as the platform.
Prevent errors on referencing MTurret from a script

ArmBases (and in turn MTurrets) are always created with mounted platform,
which makes direct creation of those Entities are prohibited from a
Squirrel script.
We have not defined EntitiyRegister<MTurret> to achieve this effect,
but it renders scripts unable to access those Entities at all.
The correct way is to define the EntityRegister but override creation
routine by instantiating class template.
Add getStatic() method to Entity like CoordSys branch

Now we do not need to define classname() for all Entity descendants.
vastspace: Prevent errors on referencing TorusStationEntity from a script

TorusStationEntity is always created with TorusStation (Astrobj descendant)
which means creating TorusStationEntity alone is prohibited.
Previously, this has been realized by not defining
EntityRegister<TorusStationEntity>, but this led to errors when accessing
the Entity instance from a Squirrel script.  Now we define the register
variable, but disable creation of Entity by instantiating template function.