deriveStageTiles

Derive the full ordered stream-keyed tile list for the stage.

Order (stable, matches the engine's "local last" filmstrip convention):

  1. remote camera tiles (input order),

  2. local camera tile,

  3. content tiles (input order; local content last via ContentScene.all).

A sharer's camera/avatar tile and content are BOTH present. Content tiles are emitted only for INDEPENDENT content; a legacy single-video sharer shows up as their camera tile (the screen replaced the camera), so they are NOT duplicated as a content tile. Audio-only peers (camera off, no content) contribute no tile. Suppression for audio-only RECEIVERS is already handled upstream (content is empty, camera flags false).