Remove spurious repaints in core-list

Previously, the core-list viewport was not a stacking context, which meant that
Chrome wouldn't parent the composited layers for the list items underneath the
viewport. Now that the viewport is a stacking context, we get a more sensible
compositing tree, which allows the browser to optimize away the viewport
repaint.

Also, this CL fixes the feature detection for unprefixed transforms.
Previously, we tried to declare a function depending on a runtime value, but,
in JavaScript, function declarations are hoisted to the enclosing scope at
parse time, which means we'd always declare the prefixed version of the
setTransform function. Now we use variable assignment instead, which works.
Merge pull request #16 from abarth/no-repaint

Remove spurious repaints in core-list
Implement grid layout.

Activate via the `grid` boolean attribute.  Requires specifying item width in
addition to item height.