Fixed the reactivity issue I'd been dragging by using a per property signal in the GameState struct, and having each cell of the matrix be a signal (instead of the matrix itself) then adjusting and cleaning up the component tree afterwards.
Added a CellState enum to enable more complex behavior down the line.
Added a boilerplate implementation of the Controls trait for the GameState struct, and wired its methods to keyboard input.
Bumped the http cargo dependency to latest, avoiding a known security risk in version 0.2.
Stability and cleanup update. Noteworthy: