Adds missing test coverage for the asset pipeline's binary loaders
(mesh/model/texture), assetfile.c, and assetbatch.c, plus a new
test/event suite for the shared event primitive.
Found and fixed two real bugs while writing this:
- assetFileRead's NULL-buffer skip path double-counted file->position,
which could trip stb_image's EOF check early on images that skip
bytes mid-decode.
- eventSubscribe/eventUnsubscribe matched only on the callback pointer
instead of the (callback, user) pair the docs already promised, so
two independent consumers of the same cached asset (e.g. two
assetbatch_t's) would abort. Covered by dedicated caching tests in
both test_assetbatch.c and test_assetmodelloader.c.
Also drops test_overworldscene.c, broken by the in-progress
overworldscene.js/init.js export-contract rewrite.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>