Build a Resilient Test Runner
Difficulty: hard
## The Mission
In this challenge, you are tasked with building a headless Test Runner engine. This engine will take a 'User Solution' (a function) and a 'Test Suite' (an array of test cases) and return a detailed execution report.
## Requirements
1. **Isolated Execution:** The engine must handle execution gracefully.
2. **Deep-Equality Assertions:** Support primitive types, nested objects, and arrays.
3. **Async Support:** Handle asynchronous solutions (Promises/Async-Await).
4. **Timeout Protection:** Implement a strict timeout of 1000ms per test case.
5. **Performance Metrics:** Track execution time for each individual test.
Constraints
- No external libraries (vanilla JS only)
- Maximum execution time per test: 1000ms
- Must handle nested objects and arrays