Changes to the FeatureIterator
As the subfeatures now have a proper interface the featureiterator needs to be adapted. It works fine when there are no subfeatures ( majority of the cases) but it wont go up the chain of subfeatures. It will remain at level 0. Similar to rasters it should be able to move into the stack of subfeatures and similar to rasters it should be able to extract a layer ( similar to a band in rasters) from the subfeatures. The iterator should have a state liken breadth first/depth first to iterate over the features. Interesting question is what will happen with subfeatures at level 2, 3, 4, .. as they are technically possible(but needed??) but what kind of iteration is possible/manageable/understandable is a buit unclear to me.