[BUG] `deepClone` does not respect built-in objects like `Set` and `Map`
### Describe the bug

`deepClone` is not able to properly clone built-in objects like `Set` and `Map`, just copying property descriptors, resulting in runtime errors when methods specific to these types are called on the cloned instances. 

```
Method Set.prototype.values called on incompatible receiver #<Set>
TypeError: Method Set.prototype.values called on incompatible receiver #<Set>
    at Object.toEqual (/Users/artemderevnjuk/Projects/tsed/packages/core/src/utils/objects/deepClone.spec.ts:109:32)
    at Promise.then.completed (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at _runTest (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/run.js:126:9)
    at _runTestsForDescribeBlock (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/run.js:121:9)
    at run (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/Users/artemderevnjuk/Projects/tsed/node_modules/jest-runner/build/runTest.js:444:34)

```

### To Reproduce

1. Define a class that includes a `Set` and a `Map` as properties.
2. Use the `deepClone` function to clone an instance of this class.
3. Attempt to perform operations on the cloned `Set` or `Map`.

### Expected behavior

The `deepClone` function should correctly clone instances of built-in objects, preserving their behavior and characteristics.



### Code snippets

```TypeScript
it("should preserve the original receiver", () => {
  class FakeStorage {
    set = new Set(["test"]);
    map = new Map([["test", "test"]]);
  }

  const result = deepClone({storage: new FakeStorage()});
  expect(result.storage.set.size).toEqual(1);
  expect(result.storage.map.size).toEqual(1);
  expect(result.storage.set).toEqual(new Set(["test"]));
  expect(result.storage.map).toEqual(new Map([["test", "test"]]));
});
```


### Repository URL example

_No response_

### OS

macOs

### Node version

Node v20

### Library version

v7.68.3

### Additional context

_No response_