Eon alpha release, performance notes

The eon object system is now officially in alpha, whatever that means. Play with it if you like, let me know if you have any thoughts.

I was a bit worried about performance because I use so many macros and so much indirection (in the form of objects forwarding zillions of messages to each other.) But after some tests, the compiled pixel-demo program seems to perform decently; it feels responsive enough. (See ELP results below for hard numbers).

The most frequently invoked function, namely (eon-read-slot), takes very little time---which was one of the main design goals. Once you have fast slot lookup, it becomes more reasonable to do proxying and all sorts of other neat stuff.

Another tweak: I've decided to assign permanent Universally Unique Identifiers (UUID's) to EVERY EON OBJECT anybody ever creates. Furthermore you can assign yourself a UUID, and all the emacs peeps will have unique ID's. When you publish objects, they're tagged with your UUID in the :owner field (or something like that, I haven't decided yet.) I bet we could add object authentication and encryption, etc.

 Function Name                          Call Count  Elapsed Time  Average Time
 =====================================  ==========  ============  ============
 eon-deliver-message                    3451        2.9767450000  0.0008625746
 eon:method:cell-sheet:render           46          0.798569      0.0173601956
 eon:method:cell-sheet:move-cursor      31          0.44502       0.0143554838
 eon:method:cell-sheet:calculate        11          0.4162220000  0.0378383636
 eon-default-clone-method               257         0.316109      0.0012299961
 eon-clone                              1           0.299976      0.299976
 eon:method:pixel-sheet:initialize      1           0.2998929999  0.2998929999
 eon:method:cell-sheet:initialize       1           0.277868      0.277868
 eon-read-slot                          34184       0.1566370000  4.582...e-06
 eon:method:pixel:calculate             2816        0.0667159999  2.369...e-05
 eon:method:cell-sheet:clone-fill       1           0.021941      0.021941
 eon-find-prototype                     6366        0.0130439999  2.049...e-06
 eon-write-slot                         2869        0.0082790000  2.885...e-06
 eon:method:cell-sheet:apply-tool       10          0.0010609999  0.0001060999
 eon-default-initialize-method          256         0.0002339999  9.140...e-07
 eon:method:cell-sheet:show             1           0.000178      0.000178
 eon:method:cell-sheet:cell-at          10          0.000135      1.35e-05
 eon:method:pixel:set-color             10          0.000132      1.32e-05
 eon-find-object                        3           8e-06         2.666...e-06