Better speed computing function
Snake's length is allowed to grow up to 10, only then the level is increased.
Game messages added
Level increase logic fixed
Block crashes when user quickly presses keys

When going North and user quickly pressed West, South, snake could crash into
itself. This is because the 'checkCollision' function acted on current
snakeState's direction, which was changed everytime a key was pressed.
So checking for collision was done only once in a time interval: all
subsequent collision checks were relative to the already changed snake
direction.

Now a state variable (nextSnakeDirection) was added to GameState. This state
variable is modified and snake's direction is updated only on game tick.
This way we can correctly check for collisions in the whole time interval.
Forgot the liberation.ttf font.

Also, font information added to README.md