Refactor so that the UI controls the game-loop
Pass game state to AInput; fix protocol method signatures to pass 'this'
Minor edits to use idiomatic constructs
Convert UI to use seesaw
Add keyboard input
Don't allow moving opposite your current direction
Minor refactor
Bump up to 15 FPS
Add basic apple logic
Add to apple logic; refactor game/tick
Grow snake appropriately when it eats apple

Necessitated major refactor, breaking most snake logic into its own
namespace.
You die when you hit yourself
You die when you hit a wall
Fix bug that would instantly kill player on level restart
Add win condition injection
Move wall intersection logic out of snake and into game/board
Rework some UI
Add helper to board to retrieve all cells
Major refactor to support 2 snakes

Methods were moved around, ui code was reworked, and tests were
rewritten. Additionally, input retrieval was extracted from core game
logic to make the tick function a lot purer.
Snakes die when they hit each other