Initial support for obstacles.

Obstacles are entities with no physical appearance that collide. When collided with a client (a player, NPC etc.), the signal "collision" is emitted on it like on mapmodels. Obstacles can be both solid (useful when you temporarily want to block some path) or non-solid (useful as area triggers). Obstacles have three dimensions and yaw (pitch and roll are not supported).