OIIO 2.x uses std::unique_ptr while 1.x uses raw pointers. Olive can now handle both, manually destroying the raw pointers when necessary if running on OIIO 1.x.
Largely refactoring work to make the code somewhat nicer to work with.