I have been playing with pyo3 to ship and call this library directly from Python, and the current ExecutionContext can't be used within Python with threads due to the usage of `Box<dyn TableProvider>` on `datasources`, i.e. no `Sync` nor `Send`.
This issue likely affects integration of DataFusion with other libraries.
I propose that we allow ExecutionContext to be sharable between threads, e.g. using Box<dyn TableProvider + Send + Sync>.