* Broke up the main loop, allowing a developer to modify it without
totally rewriting it.
* Renamed MusicResource to SongResource, for a more intuitive interface
* Renamed Resource to ResourceBase, for a more intuitive interface