Replace ~75 individual THREE.Mesh glass tiles and N individual
ConeGeometry spire Meshes with InstancedMesh, reducing draw calls
from O(n) to O(1) per group.
Glass tiles: one InstancedMesh with StaticDrawUsage replaces ~75
glassTileMat.clone() meshes. Edge line glow (LineSegments) retained
individually for per-distance opacity animation.
Island spires: two-pass approach — collect spire params first, then
build one InstancedMesh with a unit cone (r=1, h=1) scaled per
instance via the instance matrix. Mathematically equivalent to the
original per-spire ConeGeometry since T*R*S on a unit cone produces
the same world-space vertices as T*R applied to a pre-scaled cone.
Fixes#425