fix(apis.js): Make $$hashKey property non-enumerable if possible.

Makes the annoying $$hashKey property non-enumerable for browsers which support Object.defineProperty.

The defined property is configurable (may be deleted) and writable (can be assigned to) for backward compatibility.