cd5184e0

By: Michael Lynch <git@mtlynch.io>

Restore shared multiplayer world state

Keep tile leases synchronized through crossings and expiry, and send the
resolved cardinal intent used for boulder pushes. Move tree burning, spread,
and stump transitions into the world server so every connected player receives
the same environmental changes. Align tree roots and collision footprints with
their logical tiles to prevent apparent boulder/tree overlap.