Add better documentation for the SVM classes/functions (e.g. `svm_ptr`, `svm_alloc()`). From the review: ``` I can't guess what svm_ptr is for. Later I discovered svm_alloc and svm_free. Is there an RAII way to manage these things? ``` ##