Add a new WebCoreWorker thread to handle the tasks
which should not block either UI or WebKit. It handles
local file access, cache access and trim cache.

Move createCache, saveCache and most of getCache out
of WebCore thread so that slow IO and database will
not affect loading performance. getCache can be still
called from WebCore thread in the uncommon cases
like redirect and POST validation.

Move cache ticker from WebCore thread to WebViewWorkerThread.

Move setCookie from WebCore thread to WebViewWorkerThread.

Remove the unreferenced files in the cache directory
while trim cache.

Confirmed with our SQL expert, Vasu, there is no need
to wrap clearCache with end/startTransaction any more.

http://b/issue?id=2414792
http://b/issue?id=2475242
9 files changed