Sky/Effen refactor: all nodes receive _mount/_unmount signal.
Sky/Effen refactor: all nodes receive _mount/_unmount signal.

This patch refactors Effen in advance of allowing a final transform step from Effen nodes to sky nodes. The central changes here are:

1) Effen nodes get a _parentNode pointer
2) The lifetime of effen nodes is
  ->_sync (0 to N times)
     -> the first _sync() causes a _mount()
  ->_unmount
3) Node should expect to sync even when they are first inserted (in which case they sync against a prototypical empty node which their class must provide).
4) Subclasses now override _syncNode() no longer takes host & insertBefore (_mount does). In the one case that a node must be replaced without being unmounted (inside _syncInternal), the old node is inspected for it's sky position.

TBR=abarth

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

chinmaygarde/mojo,afandria/mojo,collinjackson/mojo,chinmaygarde/mojo,jianglu/mojo,chinmaygarde/mojo,collinjackson/mojo,chinmaygarde/mojo,collinjackson/mojo,afandria/mojo,afandria/mojo,collinjackson/mojo,collinjackson/mojo,jianglu/mojo,afandria/mojo,collinjackson/mojo,chinmaygarde/mojo,jianglu/mojo,jianglu/mojo,jianglu/mojo,afandria/mojo,jianglu/mojo,collinjackson/mojo,afandria/mojo,chinmaygarde/mojo,chinmaygarde/mojo,afandria/mojo,chinmaygarde/mojo,collinjackson/mojo,afandria/mojo,collinjackson/mojo,chinmaygarde/mojo,jianglu/mojo,jianglu/mojo