vertexjit: Optimize u8/u16 weights a little.

Only for uncommon values.
vertexjit: Initial u8/u16 weights for d3d9.
Oops, forgot to multiply.
vertexjit: Optimize the d3d9 weights a bit.

Only used without skinning on, or with morph, of course.
Really set maxindex correctly..
Reduce the diff between the two draw engines
More code deduplication. Also normalized some line endings.
vertexjit: Use SSE for all weights, u8/u16.
vertexjit: Use SSE4 in tc u8/u16 code.

It's not much different for non-SSE 4, might as well be common.
Merge pull request #6917 from unknownbrackets/vertexjit

Add x86 weight ToFloat handling for d3d9
Convert 4x4 to 4x3 matrices where possible (except bones)
DX9: Use 4x3 matrices for bones too. Compact shader constants.
Of course have to update these as well.
DX9: Support anisotropic filtering. Fixes #6929
Update lang
Fix PINSRW/PEXTRW emitters.

Fixes crash introduced in 527648761130d40e6324932440628c0adccd23b7
(apparently we haven't used PINSRW before)
When aniso filtering is enabled, force it on for min filtering but not for mag filtering.
DX9: fix type in texture filter selection
Merge pull request #6925 from hrydgard/d3d9-matrixopt

D3D9 - use 4x3 matrices where possible
d3d9: Use a half-pixel offset when drawing a tex.

Fixes half pixel offset issues (center of pixels is 0,0 in d3d9, but
texels are at 0.5/w,0.5/h.)