Extension function to add timeout to any suspend function.
Example usage:
val result = withTimeLimit(5.seconds) { slowOperation()}