Major Overhaul

Contained the proper functionaity within each class (Puzzle class only holds
puzzle data, ColorPanel only holds colorpanel data, etc).  Changed the flow
of the program to only make requests when needed.

Encrypted and hid data to make it harder to cheat.  The tags are encrypted
before they are sent to a client.  TODO: do not send entire image, will work
on that.