Introduce a few new nom::Renderer features

  - nom::Renderer
    * Rename set_viewport to set_logical_resolution
    * Introduce scale_factor method
    * Re-introduce set_viewport method using actual viewport call

  - examples/app
    * Update to reflect the API rename of set_viewport
Fix AnimatedSprite class

* examples/App: Add testing stub for AnimatedSprite class

  - AnimatedSprite
    * Rename method update to update_animation
    * Call SpriteBatch's update method in update_animation; intended
public access is the play method

  - SpriteBatch
    * Remove virtual declaration from update method

  - Cursor
    * Remove update method (this causes it to use SpriteBatch::update)
Fix SDL2 port of EventDispatcher class

* EventDispatcher: Change ERR check to match SDL2 API
* Input: Argument 'type' is now uint32 (from uint8) as per SDL2 API
Refactor joystick input subsystem for SDL2

Unfortunately, I don't have a second joystick laying around =(
Introduce debugging preprocessor for drag ’n’ drop events
New nom::JSON features

* JSONMemberType typedef; Value::members method
* nom::JSON enum map to JSONCPP data types
Use $PROJECT_NAME var in platform options
Input: replace all instances of input with event

(Completes an old TODO item)
Update TODO list
Update nomlib tests to current dev state

* Replace instances of nom::Display with nom::Window
* Update Makefile to reflect location of third party deps
* Rename tests/test to tests/run.sh
nom::Renderer: Introduce new features

* Methods: size, bounds, set_bounds
Introduce new convenience typedefs

* Also, relocate existing SDL pointer types from Window, Renderer, ...
to SDL_helpers.hpp
nom::Window: Fix save_screenshot method

* Re-implemented to support SDL2 accelerated rendering targets; a SDL1
window surface cannot be used on accelerated framebuffers.

  - nom::Renderer
    * Introduce pixels method

  - nom::Image
    * Introduce new initialize method; SDL_CreateRGBSurfaceFrom wrapper

  - examples/app
    * Introduce F1 key binding for taking screenshots of the focused
    window
nom::GrayFrame: Fix minor rendering bug
Introduce preliminary SDL2 rotation support
Change deg var initialization value to 0
nom::Color: Remove isNull() & Color::null object

    Color
* Relocate everything but the static definitions from Color.cpp to
Color.hpp
* Introduce ALPHA_TRANSPARENT & ALPHA_OPAQUE constants & use them where applicable
* Rename color_delimiter to COLOR_DELIMITER

    tests/math.cpp
* Refactor do_color_test1 to not use isNull or Color::null
math/Point2-inl: Fix a couple missed bugs

* Fix copy constructor's return type
* Fix copy assignment operator
math/Color: Complete conversion to template class

* Introduce two color types (typedefs): Color4u(uint8) & Color4f(float)

* Replace all nom::Color definitions with our new Color4u type across
nomlib; examples, tests & classes.

  SDL_helpers
* Implement SDL_RECT(IntRect) function
* Implement SDL_POINT(Point2i) function
Color: Rename class to Color4