Add Mul op for Vulkan (#47021)
Summary:
Updates mul_scalar shader to support the new Vulkan API, and adds a new op for it using the new API.
Also adds an in-place version for the op.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/47021
Test Plan:
Unit test included. To build & run:
```
BUILD_CUSTOM_PROTOBUF=OFF \
BUILD_TEST=ON \
USE_EIGEN_FOR_BLAS=OFF \
USE_FBGEMM=OFF \
USE_MKLDNN=OFF \
USE_NNPACK=OFF \
USE_NUMPY=OFF \
USE_OBSERVERS=OFF \
USE_PYTORCH_QNNPACK=OFF \
USE_QNNPACK=OFF \
USE_VULKAN=ON \
USE_VULKAN_API=ON \
USE_VULKAN_SHADERC_RUNTIME=ON \
USE_VULKAN_WRAPPER=OFF \
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python3 setup.py develop --cmake && ./build/bin/vulkan_api_test
```
Reviewed By: AshkanAliabadi
Differential Revision: D24624729
Pulled By: SS-JIA
fbshipit-source-id: 97e76e4060307a9a24311ac51dca8812e4471249