Ensure canvas state is preserved when 2d canvas falls out of display list mode

This change adds code to save and replay the canvas state stack when
transferring from a display list to a raste canvas

BUG=423913
TEST=fast/canvas/canvas-unballanced-save.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@183904 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: draw realistic chrome on top of viewport in layers3dview

- add graphics for chrome on top of viewport rectange;
- make viewport border light-grey, let its width scale along with
    contents scale.
- change Viewport checkbox to Chrome (always show viewport)
- (drive by) properly handle potential image/texture creation errors
- (drive by) disable user selection on Layers3DView in CSS as annoying.

BUG=

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

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