Fix playground.

There were a couple of issues.

1.  Same origin support had broken our previous playground setup.  Now each card
    is served from its own origin.
2.  Previously nested iframe sandboxes did not have borders in chrome because
    they did not match the css selector `iframe:not([seamless])`.  In Chrome 31,
    the seamless attribute is not being set at all, probably because sandbox is
    set.
3.  There were some miscellaneous promise errors.