GrayFrame, MessageBox: Implement copy assignment operators
GrayFrame, MessageBox: Add virtual to destructors
examples/Resources: Fix ‘r’ character

* Character had left-over magenta color
examples/app: Implement ability to change text string on the fly
MessageBox: Make update method protected
Label: Make destructor virtual & make character_size arg a default param
Update copyright year & e-mail address
Point2,Point3,Rect: Implement null static member

* Default constructors now initialize to -1, not 0

  Point2:
* Change typedef Point2i to int, from int32
* Remove Point2u typedef (in order to support negative null value)
* Implement == operator
* Implement != operator

  Point3:
* Implement << operator
* Implement == operator
* Implement != operator

  Rect:
* Change intersect's local variables from uint to Rect<T>
* Implement typedef ‘DoubleRect’ for Rect<double>
Renderer,Window: Replace usage of Coords with IntRect
Window: Move SDL2 video initialization to init function

* For sake of organization
Color4: Implement null static member

* Color4<uint8> typedef has been replaced with Color4<int16> in order
to support the new null value (signed integers).

* The previously used static members for predefined colors have been
added back.

* Specialized static members for ALPHA_TRANSPARENT & ALPHA_OPAQUE have
been added.

* Additional Color4<float> support has been added (still incomplete).

* Default constructor now initializes to -1, not 0.
tests/Makefile: Compile with NOM_DEBUG_TRACE

tests/run.sh: Do not run tests unless make was successful
tests/math.cpp: Implement a few tests for Point2, Rect & Color4::null
Color4: Rename component color vars to ref aliases (remove aliases)

* Referenced aliases were found to be potentially dangerous, so for sake
of simplification, we remove the problem.
Color4: Remove non-template alpha min/max vars & Color4u macros
Color4: Remove alpha component from static var declarations
examples/app: Clean up a bit (remove unnecessary for window loops)
Window: Rename set_active to make_current
Renderer: Use IntRect::null & Point2i::null
Texture: Remove optimal_pixel_format