doc: add basics tutorial
shell-completion: add zsh completion file
update stb_image
graphics: request only PNG decoder from stb_image
truetype: remove useless includes
surface: use appropriate type

- stbi_load returns stb_uc
- we specified GL_UNSIGNED_BYTE to glTexImage2D hence we need to use GLubyte
graphics: abort on GL_OUT_OF_MEMORY

The only function that returns GL_OUT_OF_MEMORY that we use is
glBufferData according to http://docs.gl
graphics: move GLDEBUG macro to opengl_util.h
rename doc/ to doc/site/ and mv man/ to doc/
lua_util: fix return value of traceback
livecoding: don't exit on errors
livereload: use IN_CLOSE_WRITE instead of IN_MODIFY

It produces much less events.
dlua: simplify call to dlua_call_init

It always returns true, which is useless. Now it returns void and make
code more readable.
fix doc/site/_build in gitignore
util: add SWAP macro
graphics: add filename attribute to Surface
audio: add filename attribute to Sound
add __type key inside objects' metatable
dlua: add dlua_foreach to iterate over objects of some type
livecoding: reload surfaces and sounds when saved

instead of reloading the game's code