Converted Renderer to singleton - saves on graphics resources by reusing
a single pool.
Changed Renderer calling convention within GameScene

Changed all public static getters in Singletons to public synchronized
static - protect from possible non java-fx thread calls.

Also hid all get() methods in Singletons - convenience methods are
available

Engine, Cache, Audiologist and Renderer are Singletons 

Todo: convert SceneGraph to singleton.
Added an experimental AI co routine to Fracture.lua, added a definition
in Example.lua
Added updates to level structure
Added level0.lua to serve as test level...
Committing a new Class Diagram
Class Diagram represents a "completed subset" of the engine and game
components. Additions will be made a point of code completeness.

Other changes:
Changed all references to "takeInput()" from public to protected. 
Added an alternative GameContainerScene called GameContainerScene_Demo -
this shall be used as the proof of concept for the game. We will be able
to reuse this as an actual demo scene.

Other miscellaneous changes...
Fixed problem loaded Fracture script, specifically the AI routine.
Added a rudimentary save system
Saves will self check when created, i.e they'll validate and return
false if they saved badly. Saves will also rewrite themselves on a bad
save.

CreateSaveScene and LoadMenuScene now create saves and load saves
respectively

Added AnimatedBufferedImage - represents an animated image
- ABI can animate per number of frames (calculated animation) or per
draw call (fixed animation) or based on input (forced animation)

Updated Cache to handle ABI
Updated Cache's "other" function to take a type parameter - saves
casting.
Miscellaneous warning fixes
Added missing files from last commit