gdc: Avoid tearing down the WWW::GoodData instance during global destruction

Passing the $gdc reference via argument stack avoids creating
indestructible references to it, which happens if a function references
a global.

That would cause it to be destroyed during global destruction phase, which
is way too late as it no longer guarantees orderly teardown (e.g. the
agent might have already been destroyed at that point, leading to a crash
during the logout attempt).