Typedef some object structures: mrb_obj, mrb_str, mrb_proc, mrb_env.

It's for naming consistency and to avoid name conflits with parent applications.
Still struct RObject, struct RString, struct RProc, struct REnv for now to keep backward compatibility. They should treat as obsolete.

I kept struct RClass as is for now.
Modifying mrb_class causes errors since mrb_class is declared as a function. This is the reason why.