refactor of ISerialize and Handle to be standard
merging in some refactoring

Conflicts:
	engine-core/BaseObject.cpp
	engine-core/DirectedEvent.cpp
	engine-core/DirectedEvent.h
	engine-core/Engine.cpp
	engine-core/Event.cpp
	engine-core/Event.h
	engine-core/World.cpp
more merge