libdeng2: Cleanup
Fixed: Potential crash during startup

Canvas's init function may actually end up destroying the Canvas
(e.g., FSAA mode changes during the startup). Thus Canvas must take
care not to perform any more actions after calling the init callback
function.

Also updated Canvas's parent pointer appropriately when handling a
canvas recreation.