Basic Networking and starting pygame surface support

-Basic packet encoding/decoding, still working at
-Planning the use of Pygame Surface as a way for caching graphics ops