Add a `Mesh` struct to encapsulate the vertex/index/norma/uv buffers.

This is less mysterious than handling each buffers separatly.
Obj loader: support for non-triangular, convex, ccw faces.
Obj loader: support missing normals and/or uvs.
Fix builtins to not trigger obj loader warnings.
Let the user load its own objs.

The obj loader is still pretty basic. Materials are not parsed at all.
Put the texture manager on TLS + fix comment warnings.

For performaces sake, the texture manager should be on TLS.
Make Mesh auto-delet its buffers in Drop.
Redesign event handling to use &fn instead of @fn

Also fix various bugs introduced by the new Mesh handling system.