Add structure for game engine and game controller interface
Merge with game-engine branch
Change key event handler to take care of press and release only