quiet -Winline and -Wshadow warnings
quiet sign-compare warnings

it would be better if these were fixed, but they haven't caused many
probems so far, and unless avoiding these warnings were accepted as policy
by the project, they'd just keep on cropping back up
fix gcc warnings

fixed for -Wunused-variable, -Wwrite-strings, and -Wreorder

also fix c++11-only-style non-static data member initializers, which
older compilers won't support
fix out of bounds error
undo unneeded change
initialize static vars in .h again

now that the vars are static, they no longer need to be initialized in
the .cpp file
Merge pull request #800 from myk002/fix_warnings

Fix warnings
Layout Manager Button is added to the Inventory Screen.
Introducing a new class: LayoutManagerState
Making the User Interface of the Layout Manager
Introducing a new class: EquipmentLayout
Making the logic behind the Layout Manager.
And the constructor of ToggleTextButton no longer contain a Fifth parameter.
Oh, just a small thing...
It is better to store the pointer of the layout instead of its Id.
Of course we also have to set the owner.
...
Prevent crash when no SoldierLayout has been defined
Fix compilation errors
Remove unnecessary c_str() call