I have a feeling Andreas' texture packer can output multiple pages for one set of images. Both tools are good, I just prefer how mine is configured (via directory structure and pack.json files), that mine is free, and of course that I wrote mine. 😉
Yes, if every other image was on a different texture you would have lots of texture binds. Ideally you use one texture per skeleton so this doesn't happen. Separating images into separate textures based on draw order could work.
If you have so many images that they can't fit on a single texture, then you could pack your images into a texture at runtime. Compute which images will actually be used on a skeleton, then use PixmapPacker to pack the images at runtime into a texture. This is less flexible because you'll need to know what images you might use beforehand, but can make it efficient to draw when you have hundreds or thousands of possible image attachments.
Spine took about 7 months to build, one artist and one coder both working full time (basically all the time!). It uses libgdx, which is an enormous amount of effort. scene2d in libgdx took many months and iterations to build. Spine isn't the first large scale scene2d based application, which meant a good deal of scene2d was already solid, but it is the first large scale desktop scene2d based application, so a little bit of time was spent improving it for the desktop.