Run event handlers asynchronously

- Added a function ```async_handle``` in ```lib/utils.py``` to allow event handlers to be called asynchronously. 
- Provided an example of how to use this functionality in ```samples/async_sample.py```