Improve ObjectEnvironmentRecord so that a bare property referenced upon
the global object follows normal property-accessor rules (including using
getters, if defined).

For instance, if the global object is available as 'g':

  Object.defineProperty( g, 'foo', { get: function(){ return 42; } } )

Then accessing bare property 'foo' should return 42.

  > foo
  42

Previously, the ObjectedEnvironmentRecord purely return the value: field
of the PropertyDescriptor, instead of using getters.