Adds a CloneAndAnimate function to WindowManagerInternalClient

The idea is to clone an existing tree of views reusing the surface id
and run the animation on it. By doing this we effectively have a (visual) copy of the views that we can then run an animation on. Eg fade out, apply a transform... If reusing surface ids becomes problematic we could instead go with creating a pixel copy of the underyling surface and change the cloning not to recurse. That's an implementation detail that could be changed later on.

I don't think cloning is useful outside of animations and really only makes sense at the WM level. Hence going with a narrow API for now.

There are a number of other pieces that need to be implemented before this can be used, but this is a good starting point.

R=msw@chromium.org
BUG=434429

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