New3dapi: various changes, including animation and skinning

I'm ready cleaning up things etc. but I don't want to have too much changes at once, so here are the changes so far.

It also contains some other changes (I am rewriting DefaultShader to be more readable, include spherical harmonics, etc).

I added the knight g3dj model for testing.

I'll add the corresponding PR for fbx-conv soon.