Made first extentions of RestorableModel: CanvasRestorableModel to
represent restorable canvas models.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>