D3DBackend: Cache ID3D11InputLayout for shader.

Rebuilding the layout isn't free, so cache it instead.  My measurements show approximately a 5% performance improvement on a fifoplayer testcase on an Intel HD4000.

I'm not very familiar with the D3D backend, so I'm not sure if this fix is correct, or if there's a better approach.