Joystick Support

Try number 2!
So I rewrote it from scratch, because I was a really bad coder when I first started.
However, if anyone could tell me how to have the axis controls start at to .5, as opposed to 0, would be a godsend. I tried in a couple places to no effect, and it results in the camera going absolutely nuts when you first start. This is the only issue I can find presently.
Scrawl asked, last time I did this, to change A_MoveLeft/A_MoveRight to use increasing and decreasing controls, however as nothing else does this I did not know how to do this, nor do I see the benefit.
Hopefully everything works correctly! I have touched openMW nor C++ in forever so I'm rather rusty.
This should use either the keyboard or controller binding name depending on which is currently in use.