[DirectInput] Fix issue #377. Avoid boxing of structs while unmarshalling KeyboardState