rotating canvas, framrate sucks, most likely observable.js