Restructure to separate cstructs.

I think this will help support cleaner inclusion of this library by
users who want to use both msgbox and cstructs.

Hm, it's not obvious to me that this is a great improvement.
I'll commit it for now and keep thinking about this.