Changed to struct variants

Closes https://github.com/PistonDevelopers/input/issues/27
Merge pull request #28 from bvssvni/master

Changed to struct variants
Concept implementation