Add BitmapImage resetDecoder() method

This method can be used in conjunction with a cache prune of the
associated ImageResource to perform image redecoding. Currently,
the method only used in the webkit unit tests added in the patch
and a decoder reset does that only: no meta data about the image
(known to or stored in BitmapImage including any already decoded
frames) is changed.

Make the interface private for now, add BitmapImageTests, and an
ASSERT that the method is main-thread only.

To perform a full redecode, any decoded frames that exist should
be cleared via BitmapImage::destroyDecodedData, as shown in unit
test examples.

TEST=webkit_unit_tests --gtest_filter="BitmapImage*"
BUG=369901

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

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