sketch out basic interface for entity manager

See #9.
fix entity.h

+ Fix invalid function call in mkentity() macro.
+ Add BAD_ENTITY constant

See #9.
remove redundancy and revise message format in test.h

+ Remove redundant 'assertion' member from Tester struct and macros.
+ Change the way failure messages are displayed.
entity unittest
Merge branch 'develop' into entity-system

Merge the feature required for further developing

* develop:
  update makefiles
  remove old test framewok
  rewrite main test function
  rewrite sys unittest
  rewrite particle unittest
  rewrite module unittest
  rewrite draw unittest
  re-enable former segfaulting unittest
  fix kmparticle(), close #7

Conflicts:
	test/main.c
	test/test.h
rewrite entity unittest

See #9.
fix #include and typo in entity test

See #9.
add entity test to test main

See #9.
implement entity system

+ return int instead of entity_kind_t in entity_kind()

See #9, and also #4 because yaay, TDD.
add NIL_ENTITY constant, write some more tests

+ Add NIL_ENTITY for default initializer to not point to some
  existing object
+ Clarify comment in mkentity_kind()
+ Add related sanity checks to entity getters
+ Write tests for handling the new constant and missing ones for sentity()

See #9.
remove unused include from entity.h

See #9.
Merge branch 'entity-system' into develop

* entity-system:
  remove unused include from entity.h
  add NIL_ENTITY constant, write some more tests
  implement entity system
  add entity test to test main
  fix #include and typo in entity test
  rewrite entity unittest
  entity unittest
  remove redundancy and revise message format in test.h
  fix entity.h
  sketch out basic interface for entity manager

Close #9.