Improves the current scheduler by implementing a recursive version that makes spinning up threads more efficient
@TensorFlow-MKL FYI. Let us know if you see performance regression. Closing the PR since it's merged in https://github.com/tensorflow/tensorflow/commit/f7d95b05044dd3ac318bcca7a5a7bfbc7336b88e
This PR improves the current TensorFlow scheduler by implementing a recursive version that makes spinning up threads for MKL primitives more efficient.
 
Here is an example of the before the recursive scheduler:

<p align="center">
<img src="https://user-images.githubusercontent.com/129947394/232718078-c7c7bb17-fbce-4ab7-9905-15e2529ff7c8.png" width="500">
</p>

And after:

<p align="center">
<img src="https://user-images.githubusercontent.com/129947394/232718338-cca5d8de-f933-4b89-bdf1-0c0f2962acf2.png" width="500">
</p>

