canvas offers a lot of interesting ways to create effects and experiences on the web. One of the methods to do that, which seem lesser known, is
I wrote about it in Using the HTML5 canvas clip method to hide certain content, showing how to stage content and create a looking glass effect. You could also see it in action in the canvas clip demo.
You could also read up more on it in the Clipping paths in the Compositing article on MDN and learn how to create some interesting combinations.