Added smart pointers definition in Thing and Sprite
Smart pointers used in Render for handling resources
World uses smart pointers for resources handling
Clean up in headers