vkd3d-shader/hlsl: Implement faceforward intrinsic.
Also adds tests for it.
The tests are marked todo(sm<4) because faceforward requires non-float expressions. I'm working on another MR in the background that implements that, but it looks like it'll take a while, so I thought I'd open this MR in the meantime.
Let me know if I should remove the comment on lines 3568-3569.