Improves camera controller using checkpoints.

Checkpoints notify GameManager when they're entered or exited by
players. GameManager keeps track of the current or most recent
checkpoints visited by each player, and can report current standings
(GameManager.GetStandings) from that info. The camera uses this to
try to keep the first player on screen.

Trailing players will respawn on top of the front player. This has
the comedic side effect of sinking the lead player's boat if they're
not going fast enough. In future, try to find a clear spot on the
river to spawn a lagging player.

River currents still don't work well. They should be steering the boat
even if they're not accelerating it.