WatchAll: use Object.prototype.hasOwnProperty instead of obj.hasOwnProperty in
order to avoid serious issues when those methods are removed, or when an
object is created with Object.create(null)