refactor: optimize array methods and property iteration
- Rewrite Array.prototype.sort to use merge sort with O(n) auxiliary space instead of O(n²) bubble sort, with proper compareFn validation
- Simplify toSorted/toReversed/toSpliced to reuse sort/reverse/splice on copies
- Replace js_prop_iter_t with ant_iter_t for cleaner property iteration API
- Fix js_del to update object tail pointer when deleting tail property
- Add failed flag to gc_ctx_t for proper OOM handling during compaction
- Optimize JSON.parse with hash table for duplicate key handling
- Fix JSON.stringify replacer function to pass transformed value correctly
- Fix JSON.parse reviver to use js_call_with_this for correct this binding