Fix-up layout problems and refactor

Also, make the game-of-life canvas resize itself when the window is
resized.