No redefine el objeto Object, simplemente crea una variable del mismo nombre en el scope actual.
Es decir, el constructor propio poco y nada tiene que ver con el Object nativo, y aún cuando esté no esté disponible de manera directa, puede ser accedido de diversas maneras.
Ej:
Código Javascript
:
Ver original({}).constructor; // equivalente a Objec
(new function() {}).__proto__.constructor // equivalente a Object