surface: Add ability to customize model to SurfaceBuilding.
cpplib: Renamed Mat3::vp3() to Mat3::vp().

The reason is that it's obvious that the vector element count is 3.
Appending 3 to the tail makes the matrix class compatible with Mat4,
but it's not consistent with clib's MATVP() macro.
After all, we have decided that making mathematically natural naming
convention is better than treating augmented matrix
(http://en.wikipedia.org/wiki/Augmented_matrix)
a common thing, which is really special usage of 4-D matrix applied
to OpenGL graphics.

Also fixed some application codes that using the method.
surface: Imported AH-64 Apache attack helicopter class from gltest.

The class has minimal implementation which is actually not enough to
drive the helicopter.
Fixed crashing bug when ejecting from an Entity.

We should not assume the given Entity is not NULL in CMChase::send().
surface: Add rotor motions to Apache.

Not that you can control the rotor direction properly, but you can see
the rotor's rotation induced by auto-rotation.
surface: Fix a local variable that should not be a static.
surface: Separated Apache's graphics to Apache-draw.cpp.
surface: Add customization script for Apache.
surface: Add some customizable variables to Apache.nut.
surface: Make rotor axis controllable through Apache::control().

Also fixed Apache::cockpitView() with seatid 1 which has been focusing
on the origin of the coordinate system.

Another minor bug which may mis-match scales of cockpit model and
exterior model was fixed.
Override ModelEntity::addRigidBody() to make broadphase mask take effect.
surface: Add a Bullet dynamics engine's rigid body to Apache.

It responds differently compared to gltest project's homebrew rigid body
implementation.  I don't get the reason yet, but we should start
from somewhere.
surface: Add drawHUD method to Apache to see what's going on.

Now we can see climb rate (in numerical readings) and throttle and
feathering indicators.

The GLwindow system is temporarily hidden when an Apache is under
control by the Player to make these indicators easier to see, just
like F15's case.
surface: Fix Apache's auto-pilot logic that have been wrong since import.
surface: Replaced a macro constant in Apache.cpp with a script variable.
surface: Add Apache tail rotor motion.
surface: Make Apache's tail rotor working when Player controlled.

The Player can control heading of the helicopter with A and D keys.

Also disabled ground vehicles temporarily to get better performance
to debug the behavior.
Tests indicate that long delta times for Apache::anim() cause very
unpleasant simulation results.
surface: Add tailRotorSpeed to the customizable values for Apache.
surface: Add chain gun turret motions.
surface: Make Apache's gun be capable of shooting Bullets.