DirectX's FFP normalizes the zero vector to the zero vector, but GLSL normalizes them to all NaN.
This patch creates `ffp_normalize`, which normalizes vectors but has DirectX's behavior on 0 vectors. Further patches in this set switch other calls from GLSL's `normalize` to the 0-safe version.
This fixes [36564](https://bugs.winehq.org/show_bug.cgi?id=36564).
-- v2: wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting_footer. wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting. wined3d: Implement a zero-safe normalize function for FFP.