Messing around with restoring canvas context