FLUID-5089: New method "fluid.isPlainObject" applied throughout the framework pathways to preserve exotic objects. This uses the well-attested "Object.prototype.toString" test which is good enough to find all standard exotic objects (typed arrays, canvas contexts, etc.) in the modern browsers and does no harm on older browsers.
Merge remote-tracking branch 'amb26/FLUID-5089'

* amb26/FLUID-5089:
  FLUID-5089: New method "fluid.isPlainObject" applied throughout the framework pathways to preserve exotic objects. This uses the well-attested "Object.prototype.toString" test which is good enough to find all standard exotic objects (typed arrays, canvas contexts, etc.) in the modern browsers and does no harm on older browsers.