Cleanup and add debug event instrumentation.

Several key things in this commit:

(1) This change adds code to report turtle motion events to a parent frame
debugger, if present.  See test/debugevents.html for the idea.

(2) Also, certain methods will now take time to run, to make them easier
to understand in a debugger (for example, pen will take time to
switch the pen color; speed will take time to switch ths speed;
dot will take time to draw the dot; and scale will take time to animate the
scaling).  Animated effects are added for each of these methods.
(Such as a "fading pencil of the chosen color".)

(3) A few APIs are cleaned up by this change: namely "label" no longer
takes a nontrivial callback.  Also "mirror" and "twist" can no longer
be used as getters.

(4) This change also adds a table of built-in characters for the turtle,
so you can say "wear red pencil" or "wear blue pointer" or
"wear silver radius".  Some of these characters are used for animated
effects.

(5) And a few more tests are added, and a bunch of small bugfixes
are done for bugs flushed out by the tests.
Merge pull request #37 from PencilCode/debugevents

Add debug event instrumentation to turtle methods.