Use RefPtr to manage shaders in Gradient and Pattern.

BUG=254509

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154260 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Store exception in the ExceptionState

Turns out that there is code (in file system) that sets the error code
and then resets it to something else. To support this we need to keep
the exception and not throw it until we get back to the bindings.

This also allows clearing any pending exceptions too.

BUG=252233

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

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