Split the ClipScrollTree into a collection of spatial nodes and a collection of clipping nodes. This makes it so that no unnecessary work is done or storage is used for clipping nodes. It also allows us to simplify certain bits of code that had to deal with both types of nodes. During display list "flattening," positioning ClipIds are converted to SpatialNodeIndices by consulting the ClipNode for their positioning node. ClipIds were already converted directly into ClipChainIndices. Eventually this change should make it to the API, meaning that we expose the difference between the different node types. This will make it harder to misuse the API and allow us to do away with looking up the positioning node of clips during flattening.