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.
instead of having TextureCache depend on Application just so it can install this event filter, I switched it around to have TextureCache expose the associateWithWidget() method that does the same thing. This cleans up one more circular dependency.