Some code copied from xs-model branch. Also: * Generate ::Ref classes programatically. * Add separate __REGISTER_CLASS macro (for use where forward declaration won't work, i.e. typedefs)