Make FrameView::layout() ASSERT that the FrameView always has a Frame

I also fixed the naming of two local variables to make it more clear
what's going on.

Layout and I are just starting to get to know each other.  Much more
cleanup to this function coming shortly.

BUG=261689
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154534 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make 'any'-typed attributes of events available in isolated worlds

Before r153701, event attributes of type 'any' were freely-shared between isolated worlds.
But since that patch, accessing those attributes from other worlds always returns null.

This patch re-enables isolated worlds to communicate via custom-constructed events
without leaking object identity by using SerializedScriptValue to clone 'any' attributes.

When an event is constructed in an isolated world, we eagerly make a clone of its 'any' attributes.
This is mostly for expediency: it would otherwise be tricky to find the original data, as it will
be hanging off some wrapper in some world, but we wouldn't know which world to look in.

But for the main world, since all these events are ScriptWrappable, we lazily clone.
This is both for performance reasons and to avoid any side-effects of cloning
(such as calling setters) until the event is actually accessed in another world.

BUG=260378

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

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