Move remaining test class into separate 'test' source tree.
Delete empty test classes.

These were remnants of an earlier project whose build file included a
check to warn if any given class didn't have a corresponding test.
These empty test classes were markers to indicate that the
corresponding classes were too trivial to need tests.
Add tests that were missing from the test runner.
Fix tests to compile in Haxe 3.
Reformat all code to match the style of my other projects.
Reinstate tests that apparently fail on Flash 9.

If this is broken, we need to know about it.
Simplify giant tree of conditionals into switch/case.
Annotate TODOs and FIXMEs with their corresponding GitHub issue number.
Override return type to reduce typecasting.

I suspect this wasn't allowed in an earlier version of Haxe.