full virtual function calls on classes

TODO: function overriding
TODO: non-virtual function calls on classes of known type
reorganized README, moved design justification to DESIGN.md