Eval cleanup

Address a bunch of todos, and better rationalize my object system. In particular, I got rid of evalString, making it so that we just use strings. Now we have an EvalImage class (which is drawable to the svg), and a bunch of children classes. One of those is EvalText, which draws a string with a style. If we call Eval.display with a string or a number, it creates an EvalText and draws that.
is this the only thing stopping you from using functionalBlockUtils.installFunctionalApiCallBlock() from within eval/blocks.js?