SkCanvas::clear() should call down to devices even when the clip is empty.

SkDrawIter had a lovely, completely unused, option for this.  Oversight?

BUG=skia:

Review URL: https://codereview.chromium.org/735233003
SkRecord: Pack SkRegion::Op and AA bit together.

Saves 4 bytes per clip op.

BUG=skia:

Review URL: https://codereview.chromium.org/741093002
Add SkNVRefCnt, prune down SkPicture's size

SkNVRefCnt is a variant of SkRefCnt that's Not Virtual, so weighs 4 bytes
instead of 8 or 16.  There's only benefit to doing this if the deriving class
does not otherwise need a vtable, e.g. SkPicture.

I've stripped out some cruft from SkPicture, rearranged fields to pack tightly,
and added compile asserts for the sizes of SkPicture, SkRecord, and
SkVarAlloc.

BUG=skia:3144

Review URL: https://codereview.chromium.org/741793002
Don't use NULL GrOptDrawState to indicate that draw should be skipped.

Review URL: https://codereview.chromium.org/742853002
Add SkNVRefCnt::deref().

TBR=reed@google.com

BUG=skia:

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