Stage slugs

As soon the cursor is placed in a slug, stage the creation of
a real paragraph.

If the the cursor is moved out of the slug and it is still empty
then pop the staging stack.

If the staged paragraph is added to, commit the staging stack.

As part of this slugs are now CE=false to reflect the fact they
don't exist in the model until the are clicked (not just selected
over). This avoids strange behaviour with selections that only
start xor end in a slug.

Future to-do:
* Fix or kill animations as this breaks them
* Possibly:
  + Fix existing bug with left/right arrowing into a slug
  + Fix up/down arrowing into a slug now they're CE=false
* Kill getSlugAtOffset, and any other code which detects for the
  presence of a block slug.

Bug: 65052
Change-Id: Ic857215654eaf5ee32e19d7db1d83185f561f783
Get rid of trigger-happy slugChange event

slugChange fired on every content change and every selection
change, which is way too often for an event that claims to
be slug-specific. While ce.Surface does need to check for
slug exits on every content and selection change, this should
be done in ce.Surface itself, not by emitting slugChange
any time anything remotely related to slugs could possibly
have potentially happened maybe.

Replace slugChange with slugEnter, which is equivalent
to what slugChange(true) used to be. Split up onSlugChange
into onSlugEnter (the if(newSlug) code path) and updateSlug
(the if(this.slugFragment) code path) and call the latter
from onModelSelect and onSlugEnter.

Also get rid of the range parameter to these events:
onSelectionChange, onContentChange, onSlugEnter and
updateSlug all potentially change the document, so this
range parameter will get out of date. Instead, use the
current selection, which will be updated for document
changes.

The pollOnce call in afterPaste was added to ensure
slugChange got emitted; this can now be removed.

Change-Id: Ie3531f71a1bae39ca57be0e641c71d18bc6aa9f5
Make slug animations work again

Done in a kind of hacky way by re-wrapping the paragraph
as a fake slug. I'm open to better suggestions.

Change-Id: Ia59d3e3ad47f16381c8b386279d9a3d7648da842
Merge "Stage slugs"
Merge "Get rid of trigger-happy slugChange event"
Merge "Make slug animations work again"