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.