Simon,
The content repository is already designed to handle content in this way. We need improved APIs for developers and after that, improved UI applications for content creators.
That is, a content item can have child items of differing types. You can identify which types of children an item may have. So you can build up a page from various content items.
You don't want to store bgcolor or other presentation information in the content items themselves. You can specify templates for folders, and content items, and possibly to content types (if not we should fix that), and can have different templates depending on a context of how the item is being viewed.
Most of this is not apparent to the average developer, and that is the problem we need to focus on, making the existing functionaly easy to tap into.
Tom, a title is an attribute of the content, not the content itself, I am not sure what problem you have that the CR can't solve. You can create new content types and store additional attributes in a type specific table.