Rework Client-side Networking

Work on client networking. Rework DungeonClient by splitting it up a bit