Implement the same caching scheme adopted for module-spa
See https://github.com/openmrs/openmrs-module-spa/pull/63 and https://openmrs.atlassian.net/browse/O3-4395. In essence, almost everything is served with Cache-Control set
to no-cache, must-revalidate. This means that any static content that is
not either the openmrs.css file or a Javascript file will make a HTTP
request with If-Modified-Since and If-None-Match headers. The server should
respond to these with a 304 unless they've been changed, which is a fairly
minimal response. Javascript files and openmrs.css are cached for one year.
The idea here is to balance aggressive caching with the need for
implementations to serve custom content from the same webroot.
For implementations not using this image, module-spa implements very similar
caching logic.