starting refactoring to differentiate between what is specific to
the game and what is not

new file:   HDCEngine.hs
	new: GameInputs a
	new: getInputsThread
		abstracting the inputs

modified:   SnakeGame.hs
	abstracting the inputs

modified:   main.hs
	the general inputs don't derive from Eq anymore
adding a layer of abstraction to represent the game state

modified:   HDCEngine.hs
modified:   SnakeGame.hs
	adding GameState parametric datatype