Move proxy to ICache, make ICache implement IDisposable, rewire DI to make ICache use proxy where sensible.  Revert tests.  Add block so that same-origin messages don't get processed twice.