Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations