Created behavior module, has most of the functionality of GameObject.
Made the code compile and documented it.
Started prepping for behavior creation.
Setup system where initArgs are set at creation time, so onInitialize can be called later.
Code now works! Next up, switching objects to structs.
Fixed issue where only one class could extend Behavior with a given type.
Fixed 2 issues with Behavior.onInitialize().

* It was called on construction if no template parameter was provide.
* It was never called other wise.
Actually call onInitialize in Behaviors.
Merge branch 'develop' into feature/Behaviors

Conflicts:
	source/core/gameobject.d
Merge pull request #171 from Circular-Studios/feature/Behaviors

Feature: Behaviors