Print warnings when using XInput functions incorrectly

Using XInput functions incorrectly means one of the following:

* Calling a function when XInput is not activated
* Calling a function which asks for a controller index with an invalid index (not 0, 1, 2 or 3)

This also fixes issue #216.