Text Renderer
iOS TextRenderer. Lays text out as an NSAttributedString using the engine's Font (mapped to a UIFont), draws each line into a tightly-packed RGBA8 CGBitmapContext via UIKit's text drawing APIs, then wraps the resulting bytes in an ImageTexture for GL upload.
Multi-line text is split on \n and stacked vertically — same semantics as the JVM/Android port. Outline rendering uses a two-pass approach when attributes.isOutlineEnabled: an NSStrokeColor + positive NSStrokeWidth pass draws the outlined shape underneath, then the regular NSForegroundColor pass paints the fill on top. UIKit's NSStrokeWidth is documented as a percentage of font point size (positive = stroke only, negative = stroke + fill); we convert outlineWidth_px → (outlineWidth / fontSize) * 100 to match the JVM's pixel-based BasicStroke width semantics.