Shared sheet's might be good in some cases, but what about if one sheet contains a lot of images that are not even used in the current layout.
An upcoming release groups objects on to spritesheets according to those which are used together on layouts, which is aimed at solving exactly this. However with a couple of projects I tested, it didn't seem to make a big difference to memory usage, which I think indicates it's not a major problem.
I don't think Kiwi Story is a very good example, because it's pretty tiny in terms of memory usage - only around 20mb or so. This is small enough that it's probably better to group as much as possible on to the fewest number of spritesheets, to get the maximum performance. It's only really important for scalability, when you have games which use hundreds of megabytes of image memory.