Don't prevent all the characters from earning xp when only one has reached the level cap.
Fixed a rare bug where the battle would resume when it shouldn't.

In battle modes where the command is pausing the battle,
when there were more than one character waiting for a command,
finalizing the first command would make the battle resume even if it shouldn't until all commands are done.
Made the menu window auto free their memory when needed.

This will prevent future memory corruption, as seen and fixed in:
37f37cfa68bcbea80dde0550b57508545d106aa1
Make ustring concat op const.
Const static ustrings.
Const static strings.
Const static colors.
Const GetQuestInfo.
Const RetrieveRandomParty.
Merge pull request #183 from logzero/static

Use static const
Adding a submodule for the VS2012 dependencies.
Patch for VS2012.  Fixing C4146: unary minus operator applied to unsigned type, result still unsigned.
Patch for VS2012. The actual error was C2664.  However, the actual cause is this compiler supports RValue references.  It demands the second argument be float&&/std::string&&.  So, I just removed the templates to let each individual compiler sort it out.
Patch for VS2012.  I don't fully understand this one.  The Debug C++ runtime throws assertions because the erase call invalidates all iterators.  However, we were storing a new iterator?  And there's a loop a few lines below doing something very similar that doesn't throw assertions?  Maybe it has something to do with the std::pair?  Falling back to indexing...
Adding VC2012 project and solution files.
Bumping VS2012 dependencies.
Bumped VS2012 dependencies.
Added a post build bat file to copy dlls into the project's root directory.
Fixing runtime crash on native Windows tool chain.  "LC_MESSAGES" is not supported or a defined option.
Bumped VS2012 depenedencies.