Makefile: relink if WORLDOBJECTS updated
new WorldWorld class

WorldWorld (and future World* friends) is a data structure that holds
hand-authored data about how a world works.

- Reorganized main.cpp.  `int main` now initializes all external
  libraries, including PhysFS, which used to be in `Reader::init`.
- Made the World singleton statically allocated.
- Made Music be a statically allocated global singleton at
  `Music::instance()` instead of being dynamically global (and merely
  implicitly a singleton due to being a member of the World singleton).
- Cache uses World time instead of Window time for resource age.  The
  only remaining place Window time is used is in World for determining
  World time.
rename WorldWorld -> DataWorld