Attempt at fixing color cube bench

The original bench was hitting the cache since it was using the same color filter for all loops. By creating a new color filter within the loop, at least this part of it is solved. I'm not 100% sure this is the right way, but at least the numbers are a bit more reasonable and are affected by the output resolution.

BUG=skia:

Review URL: https://codereview.chromium.org/648483002
Improve SkARGB32_A8_BlitMask_SSE2

With clang this:

-       movzbl  -3(%rbx), %edx
-       pxor    %xmm5, %xmm5
-       pinsrw  $0, %edx, %xmm5
-       pinsrw  $1, %edx, %xmm5
-       movzbl  -2(%rbx), %edx
-       pinsrw  $2, %edx, %xmm5
-       pinsrw  $3, %edx, %xmm5
-       movzbl  -1(%rbx), %edx
-       pinsrw  $4, %edx, %xmm5
-       pinsrw  $5, %edx, %xmm5
-       movzbl  (%rbx), %edx
-       pinsrw  $6, %edx, %xmm5
-       pinsrw  $7, %edx, %xmm5

becomes:

+       movd    (%rbx), %xmm4
+       punpcklbw       %xmm9, %xmm4
+       punpcklwd       %xmm4, %xmm4

And clang already does better codegen than msvc 2013 on this.

BUG=skia:

Review URL: https://codereview.chromium.org/609823003
Small improvements to SkBitSet:
  - implement O(1) operations in SkBitSet.h so they can inline away
  - use calloc to allocate empty bitsets instead of malloc then clear
  - little style things

BUG=skia:

Review URL: https://codereview.chromium.org/640243003
Fix restore in AVMR to have correct coverage count.

BUG=skia:

Review URL: https://codereview.chromium.org/638173003
Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key

NOTRY=true

Review URL: https://codereview.chromium.org/640373002
Fix bug in plot locking system

In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.

This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.

NOTRY=true

Review URL: https://codereview.chromium.org/640323002
Use BBH reserve hook to preallocate space for tiles.

Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd
better see how much I can tweak out the existing format.  Cleverly, that way
any improvements I make by changing the format will look that much less
impressive.

This CL looks like it will be a 5-15% win in time spent recording, with no effect
on playback.

This CL also shrinks the tiles to fit exactly when we're done inserting,
using newly added SkTDArray::shrinkToFit().  It's quite cheap to run (maybe
taking back 1-2% from those 5-15% wins), and means we'll lug around about 15%
fewer bytes in the tile grids.  Note though this strategy temporarily uses up to
30% more memory while building the tile grid.  For our largest SKPs, that's
maybe 75-100K extra.

BUG=skia:

Review URL: https://codereview.chromium.org/639823005
Update expectations for distance field path rendering.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/641203002
Revert of Fix bug in plot locking system (patchset #3 id:80001 of https://codereview.chromium.org/640323002/)

Reason for revert:
Failing unit tests

Original issue's description:
> Fix bug in plot locking system
>
> In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
>
> This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.
>
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/5c481666c9678f43e039ad605457be3854cf8de3

TBR=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/643673004
Revert of Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key (patchset #1 id:1 of https://codereview.chromium.org/640373002/)

Reason for revert:
Failing unit tests

Original issue's description:
> Refactor GrLayerHoister::FindLayersToHoist to prep for adding clip to cache key
>
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/27415b71bd529456165945e19b5b7efbebf6fb51

TBR=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/644823003
Force linking of static member variables for GLPrograms

BUG=skia:

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