Header cleanup / Build time improvements

Let's start with noting that I'm planning on adding some more commits to here, so not quite ready to merge yet.
I just wanted to put up a pull request so I can get some CI on it, and so that I could add some additional information through comments.

Without further ado, a quick build-time measure for a clean build of the main OpenMW executable.

Before header cleanup:

    PS C:\Users\Ace> Measure-Command { cmd /c "C:\Progra~2\MSBuild\12.0\Bin\msbuild /t:Build /p:Configuration=Release /m:8 B:\Programming\Projects\OpenMW\Build\2013\32\apps\openmw\openmw.vcxproj" }
    
    
    Days              : 0
    Hours             : 0
    Minutes           : 20
    Seconds           : 30
    Milliseconds      : 587
    Ticks             : 12305873683
    TotalDays         : 0,0142429093553241
    TotalHours        : 0,341829824527778
    TotalMinutes      : 20,5097894716667
    TotalSeconds      : 1230,5873683
    TotalMilliseconds : 1230587,3683

After this first (tiny) pass:

    PS C:\Users\Ace> Measure-Command { cmd /c "C:\Progra~2\MSBuild\12.0\Bin\msbuild /t:Build /p:Configuration=Release /m:8 B:\Programming\Projects\OpenMW\Build\2013\32\apps\openmw\openmw.vcxproj" }
    
    
    Days              : 0
    Hours             : 0
    Minutes           : 15
    Seconds           : 55
    Milliseconds      : 691
    Ticks             : 9556910083
    TotalDays         : 0,0110612385219907
    TotalHours        : 0,265469724527778
    TotalMinutes      : 15,9281834716667
    TotalSeconds      : 955,6910083
    TotalMilliseconds : 955691,0083


I've got a more complex compile-time hotspot I'm aiming at cleaning up now, though that might take a bit.