mandelbrot: reorganize
bugfix: don't call Animator.shouldCut() when rendering an animation
due to a call to a Place's invalidate() method. This was broken for a
top-level node when shouldCut() returns true. Also, it seems unnecessary
to give an animation a chance to restart when the input tag didn't change.
mandelbrot: better history

Update the URL on every camera change, but only push history
on zoom.