Bug 1091795.  Unregress octane-box2d by not treating some cases when we can't generate a baseline stub as unoptimizable accesses.  r=jandem

In particular, if the access is unoptimizable for temporary reason, like a
scripted accessor not having jitcode compiled yet or an accessor being in the
nursery, we don't want to permanently mark the access spot unoptimizable.  At
some point the accessor will gain jitcode or be tenured and then we can
optimize the access.
Bug 82711 - Fix error with some compilers from previous patch.  r=bzbarsky
Bug 1088228 part 1.  Introduce an nsINode API for getting the scope chain parent for a given node.  r=peterv
Bug 1088228 part 2.  Create an nsJSUtils API for building the scope chain for a given Element.  r=peterv
Bug 1088228 part 3.  Use the new nsJSUtils API for event handlers.  r=peterv
Bug 1088228 part 4.  Add a version of JS_CloneFunctionObject that allows passing in a scope chain.  r=shu
Bug 1088228 part 5.  Use the new CloneFunctionObject in XBL.  r=peterv