Fixed issue in TCPConnection

How to reproduce
-Start a single player game
-Leave game
-Will segfault due to logger being nullptr

Fix
-Logger is not initalized in constructor ( at this point, the loggeri will have an address, but the object being point at is not initialized, this is done in GameManager
-Removed setting of pointer in Init()
Changed mouus over checking

-Mouse over checking used to set all items to false, then set one to
true.
-Now loops over all elements, and set the mouse over item to true and
the rest to false.
-This means the changed will only be reported once per mouse over
Implemented functionality behind ConfigITem

-MenuManager now has a reference to ConfigLoader
-MenuManager updates ConfigLoader based on actions in ConfigItem ( user clicks Pluss or Minus )
-Renderer updates the value part of ConfigItem based on the value member in ConfigItem
-Renderer will only update textures for ConfigItem if the value has changed

TODO:
-Enum for config value names
-Use above enum with map in MenuManager, Renderer and ConfigLoader