Created standalone file for snake

Split snake from games.c, with some small optimizations and renaming. This includes partially-placeholder input handling (which accepts WASD input in Windows) in which getLeftInput is assumed to return an integer from 0 to 8. It also includes a placeholder menu that calls the snake function.

Currently, a bug allows the user to turn left twice or right twice in quick succession to make a 180 degree turn and cause a game-ending collision. This bug is easier to reproduce at slower speeds (i.e. lower values of moveDistance). It is likely caused by the fact that the way that the code disallows reversing direction doesn't cover turning around over more than one update of the coordinates of the snake's "head" but before any changes to the snake's integer-defined location take place. The fix required should be small but will also need to be tested in Windows.