Currently using `globalCompositeOperation`, maybe better (performance) and easier to use `context2d.clip()`? more info here: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing