Remove duplicated code in texture loading.
Simplify reflection a little bit.

Don't use macros for type registration.

Make object creating during serialization configurable.
Fix whitespace typo.
Add names for some HWMesh constants