commit bd91a8d2a67bdecd06c297702a9f183be067b6bb
Author: Lukas K <lu@0x83.eu>
Date:   Fri Jul 28 23:51:01 2023 +0200

    canvas: cache layers
    
    keeping a reference to the layer provider around and using it after a
    call to update() isn't a good idea since the object handed to update()
    may be already gone when rendering
    
    so cache the layers for later use
