$LastChangedDate: 2008-09-29 09:39:17 -0400 (Mon, 29 Sep 2008) $

The HUD module consists of basic 2D widgets (text, box, etc) for use by the app.

Hud class is a container that attaches 2D widgets (HudObject) to be rendered.

HudObject is a base class that registers a "frame update" callback.
A derivative can override HudObject::Update() for any action
(update args, issue OpenGL drawing commands, etc).

2D widgets such as HudBox and HudText can optionally be defined in 3D terms.
For example, HudBox can be used to make a "target indicator" consisting
of a 2D box that automatically surrounds a 3D object.

Implementation:
---------------
The HUD classes were designed to support multiple views,
but in fact, the HUD is only rendered in the main view.

HUD is based on OSG which provides TrueType fonts.
The widgets of the HUD are comprised of OSG nodes.
HUD is part of the scene graph but attached to a different Camera
having a 2D projection matrix.
