types.hpp: Introduce NOM_STUBBED macro
Refactor JSON module

* Introduce nom::Value & supporting classes
* Combine nom::JSON::FileReader && nom::JSON::FileWriter into
nom::JsonSerializer.
* Introduce nom::JsonCppSerializer class
* Rename nom::JSON::Value class to nom::JsonCppValue
* Removal of json/config_json.hpp
* types.hpp: Introduce NOM_DASHED_ENDL macro
* Move NOM_STUBBED macro from types.hpp to config.hpp
examples/sprite_sheets: Use cursors for both input & output tests
SpriteSheet: Use nom::Value for file serialization
src/CMakeLists.txt: Add RenderWindow.cpp & GrayWindow.cpp

This corrects a mishaps with me forgetting to merge in some changes
from feature/GUI into feature/dev & feature/JSON until late -- I
think...
SpriteSheet: Introduce empty method
examples/sprite_sheets: Re-enable faces test & general clean up

	General clean up:
* Comment out un-used var RESOURCE_SPRITE_SHEET
* Make OUTPUT_SHEET_FILENAME an array variable for both faces & cursors
tests.
* Use a for loop for our tests.
VString: Implement proper sorting of values when using obj map container

This corrects a sorting bug found within SpriteSheet & faces.json when
objects above 99 are created -- ex.: 110th object was being written
the 10th object. Everything read back into TTcards was thrown off by
exactly 11 objects.

	VString:
* Introduce copy constructor & copy assignment operators
* Use initializer lists where applicable
* Introduce index_ class var & index getter method
* Set value_ & index_ class vars when operator[] overload is called.

	ValueIteratorBase:
* Clean up (remove) a few unused code fragments.
* Implement logic for the return of an index value when the object's
string value is empty (see also: VString::index).
VString: Rename method value to c_str
ExamplesTemplate: Update template

* Relocation of examples/ExamplesTemplate.cpp to Resources/SharedSupport.
* Removal of examples/ExamplesTemplate.hpp.
* Add ExamplesTemplate.cpp to compilation units.
* nomlib.sublime-project: Add ExamplesTemplate.cpp to inclusion list
CMakeLists: Introduce separated compilation units

This commit introduces the initial separation of nomlib into stand-alone
compilation units; eventually, an additional option will be introduced
that allows for building these units as separate dynamic library files.
CMakeLists: Re-add Property Tree & unit test from feature/JSON rebase
examples/CMakeLists: Fix indention
Fix compile errs resulting from merging of feature/Input
Fix duplicate symbol linking err
Input: Disable virtual event handler method on_window_resized

TTcards ends up in an infinite loop when this virtual method is called.
Input: Change back all instances of Event& to SDL_Event*

This is (hopefully!) a short-term fix until I figure out how to get
around passing onwards the SDL_Event struct onto our game states as an
nom::Event.
SDLApp: Fix seg fault that occurs during game state jumps

* SDLApp::add_input_mapping(): Remove existing input mapping key when
existing.

* Introduce EventCallback::valid method.
SDLApp: Receive input mapped events last in SDLApp::on_event method

This arrangement allows us to use custom nom::Input event handlers along
side our input map -- events were being lost otherwise!
system/Sleep: Relocate functions to system/clock.[cpp|hpp]