Add 3DConnexion SpacePilot support, courtesy of @bilke on GitHub.

This was a pull request sitting idle for some time - had to commit anew
because of line ending change noise in the diff.