4 New Formations and Performance Optimization

* Added 4 different formations into the game
* Redone how Graphics worked in the GameScreen, making everything done
from the paintComponent method, significant improve in performance +
memory in this way.
* More work done to Player and Controller class, removed lots of
redundant code.
* Implemented OO Design concepts to City Graphics Objects, each city now
knows how to draw themselves instead of doing all the drawings in the
Game Screen class, this means Game Screen class has been shrink down in
size significantly.

* Added Text Label Support in FormationPanel to show details regarding
the size of armies, and name of enemy force.

* Improved Drop Down Menu Visual Design.

* Introduced starting resources, soldiers and population for some
forces.

*