Fixed issue with Hard Tile colors not changing when being hit.

How to reproduce
-Start a game
-Go to a level that has Hard Tiles
-Hit a Hard Tle with either Ball or Bullet
-Tile will not change color
-This is because the texture pointer itsel is now a part of the
GamePiece itself, and thus needs to be updated manually

Fix
-Added method UpdateTileHit() in Renderer that takes a Tile
-If the Tile is hard, it finds texture for the Hard tile with the
current hit count.
-Otherwise it just returns as other tiles will always have the same
texture
Changed classes to use Logger

-Added logger for BoardLoader, MessageSender, MenuManager, TCPConnection
-Logger now has an Instance function
-All classes uses pointer to Logger
-Fixed up som includes in PhysicsManager using forward declarations
-Added changed from previous commits that wasn't added til now.