Multiple player support, improved collision, etc

- AI now targets the nearest player
- enemies have a line of sight to the player, instead of a rectangular range
- the collision code has been rewritten, 90% less wall-clipping and the code runs much faster
- multiple instances of player can be created and stored in the ObjectList.players array
- each player instance can have its own Inventory instance (Inventory is non-static)
- changed chest-looting mechanics; instead of opening a menu, storage units will spew their contents in random directions (much more exciting)
- menus do not pause the game (with the exception of the pause and death menus)
- fixed arithmetic error when generating office levels
- removed tooltip for decorative items
- started to add multiplayer code (cannot guarantee my success in this area)