Add missing includes to some xsps.
Generate ::Ref classes programatically.
Begin converting Model.pm to C++.
Add separate __REGISTER_CLASS macro for typedefs.
Add missing REGISTER_CLASS calls to Model.cpp.
Add StringMap XS wrapper for map<string, string>
Wrap ModelMaterial::attributes from Perl to return a tied hash.
Make Ptrs array methods return undef for empty arrays (Perl code expects this).
Continue translating Model to C++.
Return undef from Model::get_material if no material.
Update TODO comment.
Add Model::delete_all_materials() and call it from ~Model.
Copy some code from model-xs branch

(fixes for set_material and implementation of duplicate_objects_grid).