Tortoise: vastly improve speed

by not repainting too often
Tortoise: prefer `new Function` to `eval`

internets says this may help performance. regardless, it's better
because `eval` has access to locals, which we don't need