Refactor the PageCacheMonitor interface to be able to probe much deeper.

Also reimplement the way pin and unpin monitoring is disabled by default, so that it can now be enabled at any time.