Each time Image is transformed in canvas, Image will be updates as well. Its onload event will then trigger the next effect on line. Hopefully this will make canvas operations respect the order that they were called. (canvas is usually assyncronous!!!)
uncommenting data render function again. background-size is cover again so iPad can be rotated and image will continue without repeating itself