The `SegmentedGraph`'s draw node would call `getSegmentColour()`
on the drawable, which would query the `DrawColourInfo` and
`tierColours` properties of the drawable. This is a cross-thread access
and as such completely unsafe, as due to being cross-thread it can die
on invalidations or out-of-bounds accesses.
Fix by transferring everything to the draw node first before attempting
to draw. `SegmentedGraph.TierColours` setter already correctly
invalidates the draw node via `graphNeedsUpdate`, so no further
intervention was required there.
Closes#22326.