[SQUASH ME] Bit of misc. clean up

* examples/gui.cpp: Re-arrange order of widget examples; the new order
is as per the order we attach the windows in (see App::on_init).

* examples/gui/create_dataviewlist_ex2: Rename 'sprite' to 'menu_elements'
and move the object to private class scope. The sprite's load method call
has been relocated to App::on_init, now grouped with all the other file
resources.

* examples/gui/create_dataviewlist_ex2: Clone each menu_element sprite as
we push each one into the values_2 column, so that we are able to change
sheet frames on the fly.

* DataViewList: Associate the nom::Event object with each UIEvent object
created within ::on_event. SpriteBatch object types now send an UIEvent
with the index set as the current frame identifier used for rendering
of the sprite sheet.
Gradient: Refactoring && introduce std::vector<Color4i> support

* examples/gui/create_listbox_ex0: Use raw pointers for construction
of window (instead of nom::Window::WindowShape).

* examples/gui.cpp: Use Window::set_shape for construction of window
objects (instead of nom::Window::WindowShape) in all but one widget
example; this is the preferred API syntax.

* Gradient: Default construction to opaque color Color4i::Blue.

* Gradient: Introduce Gradient::Colors type definition -- std::vector
of Color4i -- and replace all instances of old array usage with
vectorized usage; this allows us to use C++ style brace initialization
to initialize our colors! Thus, methods 'set_start_color' &&
'set_end_color' has been obsoleted & removed.

* Gradient: Introduce type definitions for self_type, raw_ptr,
unqiue_ptr && shared_ptr.
* Gradient: (Experimental) Replace get method with operator * method
overload.
* Gradient: (Experimental) Introduce operator -> method overload.
* Gradient: Introduce set_colors method; for new brace style
initialization.
* Gradient: Remove deprecated 'initialize' method.

* Gradient: Rename method 'enable_dithering' to 'set_dithering' &&
'enable_dithering_' class var to 'dithering_'.

* Gradient: Make update method private & introduce updated_ class var
along with obligatory getter & setter methods. Implement internal
object up-to-date state logic (alike other implementations in nomlib).

* Rectangle: Introduce type definitions; 'self_type', 'raw_ptr',
'unique_ptr' && 'shared_ptr'.
Fix erroneous setting of object's updated state upon void ctor

* This fix effects the GrayFrame, MessageBox && QuestionDialogBox
classes.
Gradient: Disable internal update state logic

* The update logic is broken somewhere in TTcards's CardView class;
see fixme note regarding class var updated_.