Neat autodiff C++ package Enoki

I worked through some of these details in a tutorial autodiff from scratch thread: