Merge pull request #4 from EternalWind/master

Integrated E-Module
Add generalized allocator
bite me...
Merge pull request #5 from aeronzhou/master

Add generalized allocator DataAllocator
...
Merge pull request #6 from aeronzhou/master

。。。
Change namespace pl to Prelude
Merge pull request #7 from aeronzhou/master

Change namespace pl to Prelude
Change namespace pl to Prelude
Merge pull request #8 from aeronzhou/master

Change namespace pl to Prelude again...
Enumerator completed!
Merge pull request #9 from aeronzhou/master

Enumerator completed!
Updated the event module.

1. Changed the event architecture. Events now become a container for the event type and the event data instead of an event itself is the data.
2. Removed the IEvent interface which makes no sense.
3. Renamed BaseEvent to Event since there is no IEvent interface.
4. Renamed Event::getType to Event::getEventType making it more understandable.