Untangling - step toward librarization

This PR doesn't yet move GeometryCache and TextureCache into a library, but it does untangle them from Application and reduce dependencies between GeometryCache and Model.
do we need this? We're calling either `TextureCache::getInstance` or `_textureCache` in the application - it's confusing