Rust bindings

We have not benchmarked it but from a surface level, it all boils down to how efficient the json library is. At the end of the day, if not json, some other component has to marshal the arguments passed into the function and the return values between rust/C++.

Btw, the session API uses an optimized approach for function calls. Under the covers, it is a C++ switch-case on tokenized method names that are computed at buildtime. So that is pretty optimized already without using strcmp to find out which method needs to be invoked on a target object.

This code is all autogenerated by WrapSerDes when VTK is configured and built with VTK_WRAP_SERIALIZATION=ON