Added:
- Added AsyncExitStack import from contextlib
- Completely rewrote the aexit method to use AsyncExitStack for better resource management
- Key improvements:
- Uses AsyncExitStack to properly manage both async and sync resources
- Handles context managers directly through enter_async_context and enter_context
- Uses push_async_callback and push_callback for explicit resource cleanup
- Better error handling with more descriptive logging
- Cleaner code structure with proper async/await patterns
- added `_auto_track_large_object` method to track large objects and prevent memory leaks
- add `factory` create method to create SimpleTool instances
- tool.info now return `Dict` and not `str`