[BUGFIX release] Fix htmlSafe to accept numbers

Handlebars SafeString does not ensure unescaped strings are actually
strings. Morph expects that they are.

Convert content to a string before passing it to SafeString.
Merge pull request #9446 from mixonic/bound-numbers

[BUGFIX release] Fix htmlSafe to accept numbers
[BUGFIX release] Add support for null prototype object to mandatory setter

Objects created with Object.create(null) do not have the method
propertyIsEnumerable. Mandatory setter expects this.

Here is choose to presume any object not having the detection method
would return true. This is inline with the ouput of:

```
var nullObject = Object.create(null);
nullObject['foo'] = 'bar';
Object.prototype.propertyIsEnumerable.call(nullObject, 'foo');
// ^ is true
```