Let NodeSurfaces determine if the Container needs to be updated.

E.g., the ListSurface invalidates its structure when an item
is added or removed. Containers check ask their components for updates.
Merge branch 'prototype' of https://github.com/substance/document into prototype