all: use sane numbering for arrays

Absolutely all of this came from ugly hacks back from the start. All threads start at 0, and all objects start at 0. Also use memcpy instead for the load() function. AFAIK it's faster, depending on optimizations. Also fix exit segfault. No idea how usleep(1000) helps, but it does though.

Next on the todo list: fix MORE bugs, if any are found and finally, FINALLY, get those demos up and running.