fix DEFTEST, no crashing when Tester is NULL, make definitions prettier
rename files in test/ for consistency
upgrade test framework

+ added no-fallthrough assertion macro
+ fixed DEFTESTs
+ TEST() is now generic

As a side note, DEFTEST macros now use goto. Scary-scary~

See #6, #4.
separate base objects from main when building

This is needed for tests main() function to not conflict with games' main().
Merge branch 'implement-punch-module' into tests

* implement-punch-module:
  add placeholder for punch_module()
print name of the test in test fail message
draw unittests
module unittests
particle unittests
update test_main
Merge branch 'tests' into develop

* tests:
  update test_main
  particle unittests
  module unittests
  draw unittests
  print name of the test in test fail message
  separate base objects from main when building
  upgrade test framework
  rename files in test/ for consistency
  fix DEFTEST, no crashing when Tester is NULL, make definitions prettier