Fix third-party header file inclusions when building with nomlib

  This corrects several compile errors resulting when an outside
project -- i.e.: TTcards -- tries to link with nomlib's (public)
header files; third-party dependency header file paths leading to
json.h & rapidxml.hpp become unreachable within the context of the
installed copy of nomlib's OS X framework.

  This is considered a temporary patch, additional considerations
and clean up work is necessary; saId third-party header files
should *probably* be marked as private header files of nomlib, and
re-worked accordingly?
Fix Indentation-level
Initial refactoring of GUI
Additional GUI infrastructure

* Introduce GUI example app
* Introduce Button, ListBox GUI controls
* Introduce UIEvent & UIEventCallback support classes with experimental event
callbacks for Button & ListBox GUI controls.
Update codebase to reflect API changes from rebasing dev onto branch
examples/app: Remove refactored code before GUI example was created
CMakeLists: Disable all but the GUI example
Introduce DataViewList GUI control
Introduce GIMP exports of VIII & VIII_small bitmap fonts
Disable build units not in use
EventHandler: Fix misfire of SDL_MOUSEWHEEL events

* Fixes a bug where invalid SDL_MOUSEWHEEL events will continiously fire
when nomlib's NOM_DEBUG_SDL2_MOUSE_INPUT preprocessor is enabled. (We've
had this same problem in TTcards, too!)
RenderWindow: Mark copy constructor & copy assignment operator non-copyable
Text: Introduce (experimental) CroppedText feature
UIEvent: Fix compile err (relocation of Value.hpp)
Additional refactoring & additions for GUI codebase

* ListBox: Inherit from Window, use nom::IFont assigned from parent
nom::Window instance.

* MessageBox: Inherit from Window, make nom::Window argument during
construction a pointer.

* Initial work done to have font resources managed by nom::Window class
(subject to change).

* Flesh out DataViewList class; introduce several helper classes;
DataViewColumn, DataViewListStore,

* Introduce an experimental GUI management class, GUIApp.
examples/gui: Rename of a couple methods & add more tabular data

* create_dataviewlist_ex2 -> create_dataviewlist_ex1
* Add third column to create_dataviewlist_ex1

* create_dataviewlist_ex3 -> create_dataviewlist_ex2
examples/gui: Fix positioning of window
DataViewList: Additional refactoring & additions

* Change internal data types in DataViewListStore from nom::Value to
IDrawable.

* Introduce SpriteBatch insertion capability into DataViewList
interface class.

* Introduce initial DataViewList::on_event logic for Text & SpriteBatch
object types.

* Introduce IObject abstract class to aid with IDrawable data type
container held within DataViewListStore; type is used to aid
DataViewList logic at run-time. All IDrawable objects now inherit
IObject.

* Text::type is renamed to Text::font_type in order to make way for
the newly inherited IObject::type method.

  sprite/SpriteBatch:
* Introduce a few convenience typedefs.
* Introduce get & clone methods; used in DataViewList class.

* Introduce resources menu_elements.json & menu_elements.png for
examples/gui.