New branch.

Will be a mini game when the day will come.
Added Life Controller.
Merge branch 'master' into life
Added collision check.
Merge remote-tracking branch 'origin/master' into life
New Sprite.
Added circle collision.
Added collision messages.
Merge remote-tracking branch 'origin/master' into life
Merge remote-tracking branch 'origin/master' into life
workaround ldc bug.
Better collision and pushing.

Also added SetSize and AddSize.
Merge branch 'master' into life
Merge branch 'master' into life

* master: (54 commits)
  Now using baseType&pointerType in the needed functions.
  Fixed interface baseType.
  Moved baseType & pointerType tests to unit test.
  Fixed some weird crash bug, need to report this.
  asserting tests.
  Fixed RemoveComponent/s.
  Added tests function.
  Fixed Cast method.
  Fixed RemoveComponents and GetComponents.
  Added baseType and pointerType, a helpers to get types.
  Removed old benchmarks.
  Fixed Clone and added a way to create entity without Transform.
  Fixed ldc compile.
  Update README.md
  Updated README.
  Added another way to AddComponent.
  Added RemoveSystem.
  Added timing.
  Finally added BatchSystem.
  Added Remove and now BatchData is also added as component.
  ...

Conflicts:
	source/app.d
Merge branch 'master' into life

* master:
  Fixed SendMessage.

Conflicts:
	source/Engine/Component.d
	source/Engine/Entity.d
Fixed Collision.
Fixed entity destroy.
Merge branch 'master' into life

* master:
  again the array resize bug, need to report this. looks like __gshared dynamic array cannot be resized on darwin if created in compile time.
  Added isPointer.
  Faster array append.
Restructure the project, created example folder, engine is now a separated library.
Merge branch 'master' into life

* master:
  Restructure the project, created example folder, engine is now a separated library.