Benchmarks and self-tests refactored as modules
Two new modules:
bench.mo: contains benchmarks:
- the old ones: for card, memory, peaking, menu backend
- a new one, which reveals cache size (thanks g3gg0)
selftest.mo: contains the old burn-in tests
- stubs API test (important for new ports)
- stability tests (which try a bunch of predefined scenarios)
- some infinite backend tests, e.g. redraw tests
Moving this stuff to modules reduced core binary size by around 40K (600D). With lua_fix, MemSiz on 600D is 0x7802c. With patchmgr on top of that, 0x7b82c.
So, this patch is all that's needed to re-enable the 600D builds.
TODO:
- RPC tests should appear in the menu on 7D (done, but not tested)
- Long benchmarks should disable powersaving (idea from nikfreak)
- cleanup APIs (calling low-level core stuff is still messy)