Change the way ImageDecodingStore is allocated and destroyed

ImageDecodingStore is now initialized atomically. It is leaked when
the process exits. This allows safe use from multiple threads.

BUG=369808

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

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