Merge pull request #357 from takkaria/restruct

UI-core split stuff
Fix tests, and problems found by tests
Merge pull request #358 from takkaria/restruct

Significantly simply the internal workings of the birth process
Split files.c into ui-player and ui-help
Remove the event loop at the beginning of play_game().

Adjust frontends to match.  This again simplifies the flow of the code
and effectively reverts 6a72679.  I hope this is an improvement in the
long run...
Move messages to using event framework
Move sound to game event system
Fix whitespace
Move z-msg to message, since it now depends on the event stuff
Update comments in message module