Complete Overhaul

After a lot of thinking I've redone most of the architecture that the
game was originally built on to make it friendlier and easier to
implement new features to down the line.
I am also adopting a new working style after this commit also.
* master will always comprise of the latest stable build
* Feature branches and bleeding edge will act as a platform to work on
and test new features in the code base. Considering I'm using git... I
might as well take advantage of it.