Since effect strips can't be transformed directly, their selection had to be forced in order to process them. This often failed in more complicated scenarios, because there was no attempt to parse hierarchy completely. In worst case only one effect in chain would be selected. This code was marked by `XXX_DURIAN_ANIM_TX_HACK`. Instead solution described above, a collection of strips that depend on non effect strip position is built by function `query_time_dependent_strips_strips` and it is stored in `TransSeq`. In `flushTransSeq` this collection is iterated and transformation offset is applied to effect strip animation. Strips in collection should be consistent with true state of dependency and should be complete. Functional changes: - When 2-input effect strip changes position, animation is offset even if only handles are moved. This only applies to 2-input effect however. - Selection is not extended to include effect strips anymore. If effects are to be moved, they must be selected manually. This is because previously it was very hard to reorganize effects in chain, since moving first strip in chain would always select anywhere from 1 to n effects. So creating or filling gap in channel would almos always result in collision especially if their order in timeline doesn't perfectly represent their order in chain.