Improved Entity and Component class design.

The explicit type has been removed from the Component base class as it is no longer needed. The hasComponent() and getComponent() Entity member template functions now use dynamic_cast to identify the correct component.