Added previous root node to GraphGadget::rootChangedSignal().

This matches the way GraphComponent::parentChangedSignal() works - It's a lot more useful if you know both the new and the old roots. This does represent an API change but I'd be very surprised if there's any affected code out there.
Made NodeGraph restore previous framing when changing root.

This makes popping in and out of Boxes a lot less confusing, because you now pop back to the same framing you had when you left.

Fixes #626.
Merge pull request #676 from johnhaddon/nodeGraphFraming

Node graph framing save/restore