C++11 syntax improvements and refactored type registry

* Used C++11 syntax to remove copy constructor in some cases (pools,
dynamic type registry, etc)
* Dynamic type registry is no longer global.
* Refactored the component generator to reflect the changes to dynamic
type registry
* Fleshing out the world class