Fix an out-of-bound read decoding WebP animation frames

Trigger recreation of demux whenever we have new data (even if demux
is in WEBP_DEMUX_DONE state).

That way, we make sure that we recreate demux even if data has only
moved (but data content hasn't changed) due to reallocation. And hence,
the data referenced by demux is always valid.

This has no speed impact as creating a demux is extremely cheap.

[For reference, see a similar issue for ICC profile from earlier:
crbug.com/255931. The fix in crrev.com/18691002 was ICC profile
specific. But this one is generic]. 

For testing this scenario, added a unit test which does the following:
- Create demux object (that is, parse) from 'data'
- Move 'data' to 'reallocated_data'.
- Decode the frames from 'reallocated data'.

BUG=

Review URL: https://chromiumcodereview.appspot.com/22720003

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