Object Versioning: application of proxied methods on proxied objects

added the apply trap to the versioning proxy handlers, which is called
on method application

as this happens only if the target of a proxy is a function, the virtual
versioning proxies either have {} or function(){} as actual target