Added ArnoldPatch class for Simulation and LumiverseVector class
Merge with new lib
Modified CMakeLists and added ArnoldWindowDriver class

Building with Arnold is now an CMake option. Currently the config is only available for Apple. ArnoldWindowDriver uses SDL 1.2 due to 2.0's problem with CMake. ArnoldWindowDriver is untested.
cmake install files updated
Version bump
Copy constructor added for devices

Reduced scope of includes in LumiverseTypeUtils
Outlining Layer class

Moving Cueing stuff into main Lumiverse namespace
More layer outlining

Writing down notes for refactoring playback
Added Simulation and Demo (Display Window)

Added ArnoldPatch which communicates with Arnold via APIs and a buffer driver. The demo juce project takes buffer and renders the result with a refresh timer. Note the JuceLibraryCode inside JuceWindowApplication is empty in repo. Copy the content to build and run the project.
[WIP] Refactoring Playback and adding Layers

Also added some functions to DeviceSet that were missing.
Almost ready to test layers

More functions added to Rig, cleaned up types in DMXPro2Interface.
Added function to LumiverseType

Needed for layers
Layer update function written
Layers seem to work

There is a weird performance issue if a layer isn't in a cue (it's used
right after creation) and I have no idea why this is happening.
Added a hack to fix blank layer performance issues

if anyone can figure that one out let me know
getSimulationPatch API, modified ArnoldPatch and a intensity changer for GUI

Now it's possible to get the ArnoldPatch instance from rig, so the caller can
get access to virsualization-related infos via ArnoldPatch function. Arnold-
Patch uses a separate loop to render which makes abort and restart with new
light parameters possible. Also, most of Arnold API calls were pulled out from
ArnoldPatch. They are handled by ArnoldInterface class now. A simple slider
was added to GUI. Users can change intensity of the light and re-render the
scene.
Changed AiRenderAbort to AiRenderInterrupt
Fixing inconsistent foreach style loops

probably more still lurking in the code
Various small changes

Cleaning up return types for certain functions
Reworking how Playback attaches itself to the rig
Fixed bug in Rig::addFunction that would invalidate function IDs after a
function was removed
Added Programmer object to help with writing cues

More tweaks to return types in some functions
Typo fix