Add gyroscope controller.

With this pull request I want to merge my gyroscope controller mechanism to the mainline code.

In this implementation I did some refactoring with the original code structure.  The controller code was moved to separate classes.

I tested my code only one Android device and I did not tried the PS controller and the joystick controller.