Support error handling for Surface read-backs.

CopyFromCompositingSurface, CopyFromBackingStore
return callbacks with a result value of boolean
(pass or fail) and the resultant SkBitmap.But in
few cases for example, we want to request output in
a differnt format say RGB_565. It depends on the
hardware whether it supports that texture format for
readback, so on few systems CopyFromCompositingSurface
may fail and return false status, with empty SkBitmap.

The user of the api should be able to know the exact
reason of failure,(there can be a different reasons)
to take appropriate action,say in the above case
FORMAT_NOT_SUPPORTED.

1.This patch defines enum to support
possible failure reasons.

2.Changes the signature of readback callback
by removing boolean and passing ReadbackResponse enum.

BUG=430871

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

Cr-Commit-Position: refs/heads/master@{#304244}
43 files changed