Correct some loadmodule error codes.
Load kernel modules into kernel memory.

This way they don't eat up user memory space.
Add module name to ELF allocations.

Makes debugging it easier.
Blackberry buildfix.
Add a safety check for freeing kernel modules.
Don't count strings as text in module info.
Skip zero size segments in module segment info.
Sum all .bss* sections when counting bss size.
Allocate 0x4000 at the bottom like real firmware.

Should fix #4056.
Allocate kernel modules that fail to decrypt.

This corrects some memory semantics to match real firmware.
Allocate executables low, not at a specific addr.

Since usersystemlib takes 0x4000 at the bottom, this will be the same.
The only impact is that kernel modules may also be able to allocate.
Clarify some module loading code.
Report forwarding module load to loadexec.

Shouldn't do this probably.
Force positions to scale by 128/32768 as psp does.

This makes everything use floats for positions.  On some hardware/drivers,
this may be faster.  On some it may be slower.  We'll need testing to see
the performance impact.

Fixes Final Fantasy 4's pos misalignments, and probably others (like
Tekken 5 I suspect.)
Correct the Tlspl TMID value.
Fix return values in sceKernelGetThreadmanIdList().

Support other object types as well, but not threads/etc. properly yet.
Allow a bad pts on zero size when listing uids.
Support other thread TMIDs in uid listing.
Return a proper error for fake TMIDs.
Only loop at video end.

In case of a short video that runs out of data but isn't ready to loop
yet.