Make the canvas global (not certain this is needed)
Save snapshot
Change layout
Load snapshot
That should work, but just to clarify, they are two different methods.
1. Make the canvas global. When you switch layouts, the canvas object will not be destroyed.
OR
2. Save snapshot - Change layout - Load snapshot