Improved code in MenuList

-Moved member functions into cpp file
-Made members private
-Made getters for private members
-Changed RenderHelpers to use the new member functions
Improved menu system

-MenuItems are now std::shared_ptrs
-These are created from GameManager in Renderer ( this means the text for these elements can be loaded from ConfigLoader.But they will probably be put somwhere else... )
-Renderer sets up textures and rects
-The shared_ptrs are fetched from Renderer and GameManager then sets the
shared_ptrs in MenuManager. This eliminates the need to pass Renderer to
MenuManager to set up the MenuItems
-Since the MenuItems now are shared_ptrs, any change in them in Renderer
will be reflected in MenuManager
-Split intialization of MenuItems into several functions in GameManager