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.
Add forward declaration header file for Model structure.

We have been added forward declaration of classes and structs as
incomplete type declarations just before their uses, but that method
introduces base type dependence whether they're classes or structs.
In other words, we cannot easily convert a struct to a class or vice
versa if it's forward declared in place.

This kind of dependence to type information should be eliminated as
possible.  A forward declaration header file is a way to do this,
although using them increases number of header files excessively.

As a starting point, I chose Model structure.
surface: Adapt Model forward declaration header to Apache.h.