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().