bug fixing the game now ends again when the snake eat itself

modified:   SnakeGame.hs
	modified: updateGameState
		the function now handle the case where
		the snake eat itself

modified:   main.hs
improving abstraction by initialising the randomness in initGameState

modified:   SnakeGame.hs
	modified: initGameState
		the function now initialise the random generator

modified:   main.hs
	cleaning
initGameState now initialize the listener thread to read the inputs

modified:   SnakeGame.hs
	modified: parseSnake
		now return (a, b, c) instead of SnakeGame
	modified: initGameState
		initialize the listener thread

modified:   main.hs
	resulting cleaning
more cleaning, drawGameState no uses theMonadState and MonadIO

modified:   SnakeGame.hs
	modified: drawGameState
		interact with the state monad
	getInputs: now changes the input to Quit if SnakeGame is a GSQuit

modified:   main.hs
	resulting cleaing