[Memory footprint reduction] infr. for densing the obj_t structure - limit refcount to a single byte, move prototype next to it
[Memory footprint reduction] eliminate the useless "outer" alias
[mem footprint reduction] abstract accessing class types in preperation for moving from obj->class to obj->class_id
[mem footprint reduction] don't allow null obj->class
[mem footprint reduction] abstract access to object classes in order to allow moving to class ids
[mem footprint reduction] assertion was too harsh - we allow negative refcounts for static object (although should check why...)
[mem footprint reduction] save 4 bytes on each obj_t by using a lookup table for classes instead of a pointer