Ah,
This is an excellent question. Note that Kernel doesn't recommend one way or another when it comes to rendering. So the short answer is that you can divide your app into as many modules as you like. But this doesn't provide any coding guidance or examples. At the moment I can't provide that for you (time constraints) but I can at least tell you how I am handling it.
I typically start by extending Kernel with a rendering engine of some sort. Usually this engine allows me to easily render modules inside of other modules. Keep in mind though, this can give the impression that modules rendered inside other modules are somehow able to communicate with each directly or belong to each other in some way. That is not the case. This is purely a function of rendering, not module relationship. As far as the app is concerned these modules know nothing of each other.
A second approach I take is to implement my own tabbing mechanism where the tabs are a module and each "page" is a module. This works well because I can fire off an event on tab click and the listening module can bring itself to the front when it hears the event. This tends to be more flexible than using a canned tab widget because you can now easily add other listeners to the tabs.
Really I have been somewhat silent on this issue because I wanted to stay out of the scene when it comes to your rendering implementation. However, I can see the benefit of having an example renderer that addresses these questions. I can tell you that one is coming, but that it won't be anytime soon. In the meantime you can play around with setting up your own.
Regards,
Alan