Minor fixes with text outlining

- Fixed rounding bug with outline width > 1

- Fixed outline rendering with outline width > 1

- Fixed bug with wrong glyph width when outline width > 0

- Added alternative outlining realization through built in SDL_TTF
library function.
Fixed memory leak.
Fixes with font outlining, #2.

- Added proper scaling for outline width

- Text width counted manually now, because TTF_Size() return strange
result for font with outline.
For example, for font FayesMousewriting_quotemapped.ttf, size=48,
outline=0, text="Load Game" it return width = 152.
For the same text, outline=2 it return width = 156.
Fixing Selector memory leak

We now properly delete the full-size sprite in addition to the
screenshot sprite when a Selector is deleted (thanks, mad-mix).
Font manager fix.

Font manager can now handle same font pointer with several id.
Removed prerendered text images.

- Removed prerendered text images from all game screens and SkipArrow
class

- Added inverted color to MLIFont (used in SkipArrow)
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/UserInterface/Selector.h
Fixed case description in select screen.

- Fixed case description wrapping and position in select screen.
Fixed unhandy behavior of text widget.

- Removed automatic resize in `TextWidget::WrapText()` function, because
it was cause of wrong width for description in select screen and for
option buttons in options screen.

- Canceled last commit, because it was caused by undesired behavior of
text widget.
Merge pull request #30 from mad-mix/master

Removed prerendered text images.
Adding new fonts for logo screen and menu screens

- Adding support for new fonts for the logo screen and menu screens.
- Also fixing a bug where the check box width was being erroneously
taken into account for TextButton's width, even when it wasn't actually
being drawn.
Fixed text clipping bug.

- Fixed a bug where the wrong clip rect is used for images that aren't
using screen scaling.
Revert "Adding new fonts for logo screen and menu screens"

This reverts commit 7c07a19f7b0d034415ad290f02e1b931522da136.
Fixed text button positioning bug.

- Fixed a bug where the check box was being incorrectly taken into
account even when it's not being drawn.
- Also fixed an issue with parentheses that was causing a compiler
warning.
Fixed text rendering bug

- For whatever reason, SDL_ThreadID() was not getting called in the
specific circumstance of the text widget, and instead the compiler seems
to have optimized it away.  I have no idea what would account for that,
but assigning it to an intermediate value seems to fix the issue.
Compiler bug?
Added new fonts

- Added support for new fonts in the logo and menu screens.
Fixed typos

- Pulled in a few typo fixes from MadMix's repo.
Fixed crash when combining evidence

Evidence combination conversations have always been treated strangely
compared to other conversations, in that the encounter they're placed in
is temporary holder created and then deleted by the current location,
such that an evidence combination conversation can potentially have
several parent encounters.  Conversation::Reset() performs an operation
on pState, which may in this circumstance be a leftover from a
now-deleted encounter, which leads to a crash.

To fix this, I've done a few things that should prevent this from
happening in the future:

- Rather than having the location object create the encounter, a new
encounter is now created for and permanently associated with each
evidence combination conversation, and these encounters are directly
handed to the location.

- pState->ResetForConversation() is no longer called in
Conversation::Reset(); instead, it's split into a new ResetState()
method that is called where state.ResetForConversation() used to be
called in Encounter.

- Also, for good measure (though it ended up not being necessary),
ppItems is set to NULL in ~EvidenceSelector().
Implemented localization support.

Pulled out hard-coded strings and font file paths into an XML file in
common.dat, which will greatly aid localization by enabling the changing
of those texts and fonts without having to recompile the executable.
The content of that XML file is loaded into a LocalizableContent object
on startup into two hash maps, where its information can then be read
anywhere in the code.
Case creator staging

Checking in some changes to already-existing files that are needed for
the coming case creator, in order not to have those paved over by any
new changes that might occur in the future between now and the actual
checking in of the case creator itself.