Store resources in ResourceCache singleton

The ResourceCache singleton holds immutable resources. It provides a point
of access for resources that must otherwise be loaded asynchronously and
enforces immutability.