Gradient: Fix internal update state

* Transformable: Maake set_position && set_size methods virtual.

* Gradient: Re-implement Transformable's set_position && set_size
methods with a call made to Gradient::update. This corrects the
consistency issue previously observed in TTcards. The update logic
in the class has been re-enabled.
Gradient: Fix MSVCPP compile err
Additional implementation & refactoring work

(In no particular order this time)

* config.hpp.in: Add timestamp to NOM_DUMP macro

* types.hpp: Rename NOM_PTR_CAST to NOM_SHARED_PTR_CAST && introduce
NOM_PTR_CAST.

* Gradient: Move Colors type definition to Color4i.

* Text: Fix incorrect setting of text color in constructors.
* Text: Re-introduce set_font( IFont::shared_ptr ) method; mostly for
internal resource management.

* UIEventHandler: Rename size method to count; this resolves an issue
with inheritance from Transformable.
* UIEventDispatcher: Remove an emit method signature that wasn't being
used but by the unit tests.

* UIEvent: Introduce id, set_id methods.

* Window: Implement id field in constructors; all widgets have had their
constructors updated to support the required id field.

* Window: Implement automated window_id generation via generate_id method.

* Window: Introduce focused class var, along with its getters and
setter methods.

* Window: Introduce set_title method.

* Window: Introduce contains method for detection of IDrawable and Text
object bounds with a given position.

* Window: Implement validate_dimensiosn method. This allows us to assume
the bounds of the parent window via passing -1 to widget's position, size
arguments.

* Window: Remove pos, size constructor.
* Window: Fix font management issue.

* GrayFrame: Refactor class to not inherit from Window.

* Introduce Drawables container class.

* Introduce IDecorator, Decorator, MinimalDecorator, FinalFantasyDecorator
framework classes. This allows us to easily change the background
and/or border style of a window or widget. This replaces Window::set_shape
functionality (along with its constructor).

* ListBox: Introduce hit_test method, re-implement Window::set_focused
method.
* ListBox: Implement focused widget functionality via mouse click, mouse
wheel and keyboard.
* ListBox: Use new Drawables container; this replaces the ItemLabels
type definition.
* ListBox: Major clean up of process_event method.

* Color4i: Introduce several new static colors for future use with widgets.

* Transformable: Remove constructor for position.
* Transformable: Introduce global_bounds method and set_position,
set_size method variants.

* examples/gui: Introduce LucidaGrande font resource & OS X Aqua style
bitmap button.

* IObject: Introduce RTTI functionality in IObject; ObjectTypeInfo is a
helper container for this new functionality. This has replaced
IObject::ObjectType enum and type method.

* IObject: Introduce is_type, is_a methods for type safe identification
of classes. Introduce equality and in-equality operators.

* IObject: Implement new and delete operators for debugging aid support,
along with a print out of the total number of bytes allocated and
deallocated.

* GUIApp: Removal of class; nom::Window has replaced class
functionality.
Introduce stub files for UILayout class interface