ZVISION: Move generating the RenderTable to outside setRenderState

This allows the panorama/tilt options to mutated without having to generate the table multiple times.
ZVISION: Create class for ActionDelayRender
ZVISION: Create methods for altering panoramaOptions and create console commands for them
ZVISION: Fix closing braces on generateTiltLookupTable
ZVISION: Change default panorama FoV to 27 degrees

This is to match Marisa Chan's implementation. Images at this FoV also look better.
ZVISION: Only scale videos when needed

This avoids crashes for videos that exceed the screen size when scaled
ZVISION: Fix compilation
ZVISION: Create clone member function for ResultAction class
ZVISION: Convert Puzzle to a class

It needed a copy constructor and destructor to handle the heap memory ResultActions
ZVISION: Create mutators for _tiltOptions
ZVISION: Modify Criteria parsing to handle empty Criteria
ZVISION: Create Control class
ZVISION: Move the criteriaMet bool outside of the loop

Only fire off the Results of ALL of the criteria are met
ZVISION: Add 'reverse' to _tiltOptions and _panoramaOptions to handle Control options
ZVISION: Rename parseResult() to parseResults()
ZVISION: Modify Control parsing to use new Control class structure
ZVISION: Create ScriptManager member function to change location
ZVISION: Make ActionNode::process() pure virtual
ZVISION: Move Puzzle logic into a .cpp file
ZVISION: Move CriteriaOperator, Criteria, and StateFlag inside the Puzzle class