refactored the macros to make the primitive and primitive_class declarations more clean and friendly looking
consolidated a lot of the primitive declaration macros. now has primitive_declare() and primitive_define()