First pass over plMessage headers.

This reduces the amount of redundant #includes in the plMessage headers.
Still need to check over the actual source files and do some work to
remove pnUtils (ugh) from one message.
Fix unsafe cast
Remove unused NetCommMsg
PCH-ize plMessage
Fix fallout in 3dsm plugin
Use pointers instead of array syntax.
Fix an uninitialized value in hsBounds.
Remove unneeded register keyword.

In modern compilers, the register keyword has no effect. On clang, it
generates warnings.
Improve clarity of stat/_wstat64 return value.
Use std math functions in Max plugin.

VS12 provides math functions which were conflicting with ones defined
in texutil.h.  This removes the reliance on texutil.h and uses the
standard library's math in its place.
Add different SetText values to MaxCompat header.

Restores compilation of Max 7 plugin, as its SetText expects
a non-const pointer.

Additionally, NotifyInfo should already be declared in notify.h.
Merge pull request #404 from dpogue/coverity

Coverity
fix for g++:
	fix plVault LogMsg calls + remove useless wide char usage
	fix usage of plAvatarMgr::FindAvatar() and plLinkEffectsTriggerMsg::SetLinkKey() with temporary variables
	plNetServerSessionInfo.h need std::string
	fix plProgressMgr.h: NumLoadingFrames() have an useless class context information
	fix plSocket usage of non-standard NULL
Fix scope on preprocessor variables for Max plugin.

plAudioCore needs to know whether we intend to build the plugin, so
the change introduced in 978edc1 was causing compilation to fail when
building the plugin.

This moves detection and definition back into the root CMakeList,
but preserves the behavior of only looking for the SDK if needed.
Merge pull request #406 from Deledrius/Max7_VS12

Fix compilation of Max 7 plugin in VisualStudio 12
Fix #303
Pixel-accurately clip characters to the available space instead of omitting whole characters that stick out.

In addition to being a prerequisite for shadowed text, this also fixes an issue sometimes seen at the bottom of the mini KI player list where characters with a descender were missing.
Use premultiplied alpha for plDynamicTextMaps on GUI controls.

This fixes the irregular dark fringes around light text when not exactly pixel-aligned that are caused by independent interpolation of color and alpha. It also makes calculations simpler for things to come.
Implement shadowed text rendering.

Intended to make KI text (player list and chat) better readable on light and patterned backgrounds. In this WIP, all text on GUI controls is rendered shadowed.
Link shadowed text rendering to the plDynamicTextMap::kFontShadowed flag.

Conveniently enough, this existing but unimplemented flag is already set mostly the way we want it in the current PRPs.