Move logic from NativeImageSkia to GraphicsContext and SkiaUtils

Related to https://codereview.chromium.org/358893002: in this CL, preparePaint[...] is used  in NativeImageSkia and will be used in StaticBitmapImage::draw()

To avoid having a huge CL (and because it is possible), this change is proposed as a separate CL.

BUG=344804, 170021

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

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