[mac asan] Fix PNGDecoder setjmp setFailed ASan crash

Using the stack local decoder variable to call setFailed() when setjmp
fails can crash ASAN MAC builds when fuzzing test:

  fast/images/png-suite/test.html

The decoder setjmp/longjmp error exit is working fine: bug seems to be
in ASAN LLVM Clang MAC.

Workaround the ASan crash by making the decoder a class member (better
aligns the code with the JPEGImageDecoder) and remove the stack local.
Add a helper to extract the PNGIMageDecoder from a png struct, and use
it to minimize the need to static_cast<>.

Minor clean-up: put file-scope constants and functions in an anonymous
namespace, remove 'static' from function definitions therein.

BUG=418113

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

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