This was mostly only a problem when using Cycles, where NodeTrees are used to
control the world settings.
Also needed to knock out a few remnants of some bygone attempted optimisation
attempts which were preventing this from working (i.e. if a world block didn't
have any animdata, it's child nodetree would never get seen/tested). These
worked ok in the past, but are not that flexible for extension.