Now sources should compile for other versions of Delphi than XE2 and XE3.
Tested in XE4.

Changed logic for scoped Windows and Forms unit names to use CompilerVersion, not VER### defines.
  {$IFDEF MSWINDOWS}
    {$if CompilerVersion < 23 }
      Forms,
      Windows,
    {$else}
      Vcl.Forms,
      WinAPI.Windows, // Delphi XE2 (CompilerVersion 23) added scopes in front of unit names
    {$endif}
  {$ENDIF}