Improved particle engine, moved away from using fbo because it is slower than canvas directly