Modifiers will now return a Variant instead of a Value*

This means that returning from your modifiers is a lot easier now, just
as easy as returning from callbacks. This also means that the cleanup()
method in the Modifier is gone as the memory of your Variant objects is
handled entirely internally.