 
          
        
        Tried to get something really interesting in 140 bytes. I wasn't successful, but I kept compressing the effect to what it is now. Enjoy.
setInterval("with(document.body.children[0].getContext('2d'))fillStyle='rgba(255,255,255,.1)',save(fillRect(0,0,180,150)),translate(90,75),rotate(Math.cos(--i/9)),restore(strokeRect(-45,-45,90,90))",i=22)c2V0SW50ZXJ2YWwoIndpdGgoZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXS5nZXRDb250ZXh0KCcyZCcpKWZpbGxTdHlsZT0ncmdiYSgyNTUsMjU1LDI1NSwuMSknLHNhdmUoZmlsbFJlY3QoMCwwLDE4MCwxNTApKSx0cmFuc2xhdGUoOTAsNzUpLHJvdGF0ZShNYXRoLmNvcygtLWkvOSkpLHJlc3RvcmUoc3Ryb2tlUmVjdCgtNDUsLTQ1LDkwLDkwKSkiLGk9MjIpsetInterval(function () {
    with (document.body.children[0].getContext('2d'))
        fillStyle = 'rgba(255,255,255,.1)',
        save(fillRect(0, 0, 180, 150)),
        translate(90, 75),
        rotate(Math.cos(--i/9)),
        restore(strokeRect(-45, -45, 90, 90))
}, i = 22)