Model communicates with view over loopback

Instead of the model calling repaint() on the view and the sprites in
the view getting the attributes of the entities directly, the model
just sends "sprite datagram packets" over loopback to port 1730.

Every tick the GameLoop adds all the entities to the ViewSender's
entityQueue and notifies the thread in which the ViewSender is running.
On notification the ViewSender sender constructs and sends sprite
datagrams of the entities to be received by the ViewReceiver.

The sprite datagrams contain the id of the entity, a unique 8-byte class
identifier string and some of the entity's attributes. The data in the
sprite datagram is sent to the appropriate sprites update() method. The
method extracts all the relevant information and sets the appropriate
variables.

The GamePanel's thread wakes up every 20ms to call repaint(), since
GameLoop will no longer notify it.

Eventually the viewer will be able to connect to any server on a
network. This allows for multiplayer over a network.