Enable rendering of multiple players

This is a pretty large commit that touched on a few issues.

1. Players are now given a unique id from a counter.
2. Added a nearby player update packet, currently sent periodically.
3. Player movement is now sent in the correct directions in input.coffee.
4. The map rendering offset was changed to render the world properly.
5. Misc refactoring.

I may have missed some changes, but that is the main idea. This should be
similar for rendering anything else from server packets, so this should
ideally be abstracted a bit on the client side to apply to other cases.