IState: Add void_ptr argument to on_init, on_exit, on_pause, on_resume
MessageBox,StateMachine: Disable logging of backtrace
IState: Implement BackUpdate state flag

* IState::StateFlags is now compatible with bit masking
IState: Implement additional features

  IState:
* Implement use of the timestamp class var
* Replace IState(id,timestmap,flags) constructor with IState(id) & IState(id, flags) constructor
* Add additional documentation on methods

  SDLApp:
* Introduce previous_state method
SDLApp: Add virtual in front of state management methods
StateMachine: Fix a couple bugs

* push_state: Fix on_pause state never executing
* pop_state: Fix on_exit never executing
Sprite: Use update method in appropriate methods

* Support for self-updating logic is still incomplete
Fix several compile warnings on MSVCPP

Turns out there was a use for Color4<uint8> after all … conversions for
SDL2
math/helpers: Split function implementation into cpp file
MessageBox: Introduce title_bounds, text_bounds

* Rename title, text to title_string, text_string (respectively)
Color4,Point2,Point3,Rect: Add explicit keyword on copy constructor

* Add explicit keyword on Rect, Point2, Point3 template classes

* Remove explicit copy assignment operators; these should never be
necessary.

* Renderer: Fix compile err created due to explicit keyword set on
Point2 — a sign that the explicit keyword is working as intended! :-)
Revert commit SHA 71ed3e6
Color4: Re-add explicit keyword onto copy constructor