So far, it's just one level deep (have to start somewhere).

So far, it's just one level deep (have to start somewhere).

Someone made the request a while back for the ability to group scenes together.
Now, it's getting close to reality! I'm almost ready for beta testing for SceneGroups - a webdialog interface that allows drag-and-drop organization of your model's scenes into customizeable, collapsible groups. From the group list, a click on the scene will activate it in the SU window. This will be especially helpful for navigating in models with large numbers of scene tabs.
There is, but it's rather complicated.
You need to use a series of Sketchup.send_action("pageNext:") commands until the Sketchup.pages.selected_page is the one you want to have active.
EDIT:
It appears there IS a pages.selected_page= method, that is undocumented. The method makes it UNcomplicated, but the undocumentedness re-complicates things 
After assigning the attributes to the definition, did you save out the definition (rather, an instance of it) to an external model?
CPhillips is right - you need to put the data into an element in the webdialog, then use get_element_value.
The "set_element_value" is disguised as "execute_script". It allows you to execute a block of javascript in the webdialog from your ruby script.
webdialog.execute_script("document.getElementById(\"myElementID\").innerHTML=\"<XML CODE GOES HERE>\"")
It's a wild concept, but there it is...
I'll have to check - I may have hard-coded an expected (PC) path that will be different for Mac. Regardless, the script should work, even without the cursor change.
I have one called CurveStitcher, and someone else wrote one (see the Google Groups for SU Pro, I think).
correct, the two .rb files and the "icons" folder should be directly in the "Plugins" folder, not in a subfolder.
I think the advantage to my method (though it's substantially similar) is that you don't have to save an external file - everything is in the original model. The "save as..." and reloading seem to be extra steps that could be avoided.
Okay, I think I have a (non-ruby) solution:
If everything is components, I think a ruby could work. If there's a combination of groups/components in the tree, then it gets very VERY messy.
I may be missing something, but can't you insert the subcomponent in the main model space directly where the instance exists within the parent component? Then, go into the parent and delete the instance after you've used it for reference positioning.
Change the axes of your component to make it lay flat.
I think we emailed back and forth on that one (I remember examples), but maybe it was on the forum.
EDIT: Oops, didn't read closely enough.
For that situation, I'd suggest creating the thing sideways, then rotating it into position.
If a possible application would be contour maps generated from grayscale images, then it's been done. Check the SketchUp Pro user group boards, and look at some OLD ruby stuff. I can't remember the names of things, but TBD had one, and maybe Dider had something.
I just got an email notice that the NREL EnergyPlus SketchUp plugin has been released for public beta:
http://www.eere.energy.gov/buildings/energyplus/energy_design_plugin.html
It's been on my personal list for 2-3 years, and I did a proof-of-concept that moved objects, but never got an interface going. Didier followed with a bit more development, but it was still short of what you describe.
I thought I might revive it, but maybe I'll wait to see what v7 brings (I would hate to develop something that got swallowed up by a native function).
Not unless you want to tie into ImageMagick (and require all users to install it to make the script work), or learn about how to extract pixel data manually from image files. 
Sorry...
On the features pages for xnView, it lists .skp files as type "Autodesk SketchUp component"
I'm glad that didn't actually happen!
I think our machines are comparable processor speed, so maybe it's a memory issue (running 4GB RAM here). Regardless, my script is slow compared to Whaat's, since I didn't really get past the proof-of-concept stage into optimizing.
My subdivide project started out last year (almost exactly - March 31) - see http://groups.google.com/group/Ruby-API/browse_thread/thread/4eb73c8ffe38a62d# for the thread where I did a preview. Anyway, the script is unfinished, and is likely to stay that way. I don't need (or want) to try to compete with Whaat on this 
Whaat's interface is significantly more advanced, and perhaps the internal workings are as well. It is what I imagined for my script, but did not have the time to do. I think Whaat's product, when released, will be a fantastic addition to SketchUp. I released mine very quietly (so as to not upstage Whaat's work) to provide a temporary solution for users who needed a subdivide script while they waited for Whaat to complete his impressive work.
My best wishes to Whaat for great success with this script! I'm waiting for it eagerly, as well! 
As for speed, the first iteration on the pillow example took about 15 seconds. A second iteration (though unnecessary IMHO) took over 10 minutes due to the large number of faces. Hopefully, Whaat has some speed advantages to go with the jazzy interface 