vkd3d-shader/hlsl: Use add_cast() in append_conditional_break().
Instead of creating a cast node directly.
This specifically handles the 1x1 matrix case, which currently the backend code does not expect.
vkd3d-shader/hlsl: Fix a corner case in ternary type conversion.
If the condition and argument types are compatible, i.e. there is no broadcast,
the resulting shape should be the shape of the arguments, not the shape of the
condition.