Rework ClipScrollTree::update, eliminated members which are now
duplicated in ClipScrollNodeData and reducing the amount of unnecessary
work. There are a few main thrusts here:

1. Don't do matrix operations if it's not necessary.
Transform3D::pre_mul was showing up in CPU profiles, and this makes it
much less significant.
2. Don't spend time setting up state if we are not going to recurse.
3. When we encounter an empty node (including those clipped out), do as
little as possible. This includes setting update state or calculating
things for ClipScrollNodeData.