Refine memory accounting in ImageDecodingStore for discardable entries.

Discardable entries used not to be taken into account while computing the 
current cache memory usage.

On Android at least, clients should not use discardable memory as an unlimited
resource and should not rely on the kernel only for regular eviction without
having any limit. The kernel purges unpinned memory only in case of memory
pressure which means that the pages used by unpinned memory are still seen by
the rest of the kernel as dirty until very/(too?) late (when the ashmem
shrinker kicks in due to memory pressure after regular page frame reclamation
failed). Therefore unpinned pages can't be reclaimed as early as they should be
unfortunately.
We should not cause memory pressure ourselves in order to handle eviction
especially if we already have a limit machinery in place.

Ashmem used to have a soft limit of 128 regions but this is no longer the case
and ashmem allocations will now always succeed (see the corresponding bug).

This change emulates the previous behavior which was to only update the cache
memory usage for heap-allocated entries (i.e. when more than 128 ashmem regions
were being used).

BUG=299828

Review URL: https://codereview.chromium.org/110273002

git-svn-id: svn://svn.chromium.org/blink/trunk@164285 bbb929c8-8fbe-4397-9dbb-9b2b20218538