Clean up ContinueMenuState GUI events somewhat

* Update code to reflect changes in nomlib's API -- ::pop_state to
::pop_state_resume.

  ContinueMenuState:
* Rename event callback methods in to better reflect
their scope.

* Change starting position of cursor & question answer selection
(from YES to NO).

* Clean up on_gui_* methods a bit (use widget data as much as possible).
Update code to latest API in nomlib's feature/GUI dev branch

* Use new states management interface
Introduce GameEvent::NUM_EVENTS enum value
Fix couple issues

* Use bitmap font for choice labels; was defaulting to Arial.

* Use DEBUG logging priority for NOM category messages; this
enables showing logging generated by usage of the NOM_DUMP macro.
Update codebase to use deferred states management

This corrects the crash that results when trying to change state
from within a callback from a nom::UIWidget event.
Update code to use renamed state methods

nomlib branch feature/GUI
Update code to use LogPriority::NOM_LOG_PRIORITY enum values
Refactor input subsystem to use nom::InputMapper feature

The entire game has (finally!) been moved 100% over to a run-time
configurable action binding input subsystem. This change greatly
simplifies the events handling logic and reduces duplication
considerably.

* Joystick input handling has been implemented in every state now.

* Modifying card rank values no longer exhibits the cursor hopping bug,
due to clean up of InputStateMapper in nomlib.

* A couple other minor improvements that I can't think of at the
moment... (ContinueMenuState && GameOverState is all that comes to
mind...)

* debug.hpp: Introduce TTCARDS_LOG_CATEGORY_EVENTS enum value.
Fix CMake Policy CMP0048 warning (version vars)

...regarding the usage of the reserved PROJECT_VERSION variables. I've
chosen to opt out (use old, pre-3.0 CMake behavior).
platform.cmake: Use default installation path for OSX SDK
Fix gradient margins bug
Refactor UI code to use libRocket GUI

* CardsMenuState: The class has been fully rewritten to support
libRocket's datagrid features; a much cleaner codebase results. Mouse
input controls have been implemented.

* ContinueMenuStateCursor: Rewritten class to support more than two
positions.

* config.hpp: A large portion of the antiqued coordinate origin
calculations have been replaced (obsolete) by data-driven RML & RCSS,
thanks to libRocket!

* CmakeLists.txt: Add libRocket dependencies.
* third-party/README.md: Refer to nomlib's sf.net project files page
for dependency files.
* Remove CardsMenuStateCursor.cpp.
Fix state crashing bugs

These two bugs have existed long before the GUI branch.
Implement confirmation dialog for CardsMenuState
Rename ContinueMenuState & Cursor source files

ContinueMenuState -> ConfirmationDialog
ContinueMenuStateCursor -> DialogCursor
Declare applicable class dtors virtual

This does not resolve a *known* issue, but is just waiting to bite
me in the ass if it hasn't already...
Use std::unique_ptr for audio obj pointers

I had forgotten to free these before...
Fix another state crashing bug

* This is related to the recent bug fix SHA#a26c9a6
Initial game logic for multi cards of same type

* Card: Introduce getter && setter for num_ var.
* cards.json: Add num field.

* CardHand: Remove check for existing card (based on ID); this allows
duplicate cards to be placed in the player's hand, thus allowing
me to start developing this new functionality.

* CardsDataSource: Implement necessary logic for updating the cards
model in regards to the card availability / numbers.

* config: Remove MIN_COLLECTION const var; what's the point???
* debug: Introduce several new logging categories for individual game
states.
Use non-build dir path for libRocket's fs root path (run-time cfg)

* Use Resources dir from project root instead of app bundle path
for reloading cfgs from (RML, RCSS).

* Introduce bin/fswatch.sh for automatic copying of
Resources/config.json to Documents/ttcards/config.json for us.