Add support for caching interstitials

This is Debarko's[github.com/debarko/] work.
Now interstitials can be cached before being shown