[oneDNN v3.x]: Added support for matmul for fp32/bf16/int8 and einsum for fp32/bf16
Hi @penpornk Can you please review this PR ? Thank you! Thank you for the review and for the good suggestions. I have addressed the comments. I also included a bug fix in this [line](https://github.com/tensorflow/tensorflow/pull/60378/commits/8ba59847e722c692885ff1eaa49c94cfd01b121e#diff-273ed23e668174f96de6482ae9dc33fa1e59b6c7761690ad00d42dfb90c328ecR486). @penpornk I have addressed your review comments. Can you please take a look? @penpornk Thanks for approving this PR. Please let me know if you need anything else from my end. @bhavani-subramanian Could you please help fix [Windows Bazel failures](https://source.cloud.google.com/results/invocations/eba509ee-fed0-4215-b671-685ec6497b2a/log)? Thank you!

```
.\tensorflow/core/kernels/mkl/mkl_matmul_ops_common.h(375): error C2059: syntax error: '#'
.\tensorflow/core/kernels/mkl/mkl_matmul_ops_common.h(249): note: while compiling class template member function 'void tensorflow::MklDnnMatMulFwdPrimitive<T,T,T,T,T>::Setup(const tensorflow::MklDnnMatMulFwdParams &)'
        with
        [
            T=float
        ]
.\tensorflow/core/kernels/mkl/mkl_matmul_ops_common.h(129): note: see reference to function template instantiation 'void tensorflow::MklDnnMatMulFwdPrimitive<T,T,T,T,T>::Setup(const tensorflow::MklDnnMatMulFwdParams &)' being compiled
        with
        [
            T=float
        ]
tensorflow/core/kernels/mkl/mkl_matmul_op_fused.cc(145): note: see reference to class template instantiation 'tensorflow::MklDnnMatMulFwdPrimitive<T,T,T,T,T>' being compiled
        with
        [
            T=float
        ]
tensorflow/core/kernels/mkl/mkl_matmul_op_fused.cc(61): note: while compiling class template member function 'void tensorflow::MklFusedMatMulOp<tensorflow::CPUDevice,float,true>::Compute(tensorflow::OpKernelContext *)'
tensorflow/core/kernels/mkl/mkl_matmul_op_fused.cc(341): note: see reference to class template instantiation 'tensorflow::MklFusedMatMulOp<tensorflow::CPUDevice,float,true>' being compiled
[17,997 / 20,875] Compiling tensorflow/compiler/mlir/lite/utils/tftext_utils.cc; 40s local, remote-cache ... (9 actions, 8 running)
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 258.481s, Critical Path: 84.48s
INFO: 17584 processes: 12330 remote cache hit, 4755 internal, 499 local.
FAILED: Build did NOT complete successfully
```
- This PR adds support for oneDNN v3.x in fused-matmul (inner-product), batch-matmul, MKL CBLAS matmul and einsum for fp32 and bf16.
- This PR also adds oneDNN v3.x support for QuantizedMatmul. Changes in oneDNNv3.x for INT8 are 1) Changing the scaling API, so we need to pass a scale for every tensor. 2) Bias needs to be float. If not already in float, we convert it to float.
- Support for weight caching in fused-matmul will be added in a future PR.
- This PR passes all unit tests related to matmul ops for fp32/bf16/int8 when oneDNN v3.x is enabled.
- This PR does not add or affect Eigen ops and are specific only to oneDNN kernels.
- For additional comments related to oneDNN v3.x integration, please refer to [this](https://github.com/tensorflow/tensorflow/pull/60307#issue-1665423762) comment.