Decorator to automate the wrapping of TensorBox method outputs.

When applied to a TensorBox method, it inserts an additional argument into the signature, wrap_output. By default, this is True, causing the output of the method to be wrapped as a TensorBox; specifying wrap_output=False when calling the method results in the underlying tensor itself being returned.