Rewritten render loop. Now dynamically adds canvas