Use __attribute__((format(printf))) if supported

Adding __attribute__((format(printf, 4, 5))) to assertionFailed allows
the compiler to check the arguments to arx_assert.

Also, this prevents a warning issued by clang 3.1 when these arguments
are later forwarded to vsnprintf.
Add ARX_ prefix to feature test macros (HAVE_*)

This prevents name conflicts with inconsiderate libraries.
While well-designed libraries should use unique names for symbols in
their public headers, not all follow that rule.

Especially SDL defines HAVE_* macros in public headers, at least for
some configurations.
Minor text alignment fix
Fix mismatched arx_assert_msg parameter types

Some arx_assert_msg calls used the wrong format strings.
Don't use the -fwhole-program compiler flag

-fwhole-program can be used to tell the gcc that everything that
makes up the final program is included in the current command, which
allows it to use more aggressive optimizations. This can result in
smaller and faster code.

However, cmake always uses at least two commands to compile each
executable, even with the unity build: one for building the user code
and one for linking all libraries.

Using the -fwhole-program option here can cause the compiler to not
properly internalize some C++ objects (such as typeids) that are used
in both the user code and external libraries, resulting in unexpected
behavior.

From my tests, there is no measurable performance gain and the file size
reduction for the arx executable is 'only' around 18%. I think the
potential problems outweigh those benefits, so -fwhole-program must go.

This only affects unity builds as -fwhole-program was only used for
those. Unity builds are still possible and recommended.

In the future we can look into using link-time optimizations, but those
are not stable enough in current gcc versions to be enabled by default.
Also, quick tests show no real benefits.

See crash report #245
See also commit 58aa3 and crash report #243
Cleanup internal filename/id format checks

Make sure all checks left over from the case-sensitive work is only
executed in debug builds and remove obsolete TODOs.
Fix and cleanup script timer execution

ARX_SCRIPT_Timer_Check needlessly used floating point math where integer
division was enough.

Also, the condition in the assert was wrong as 'st->tim == arxtime'
is a valid postcondition.

Fixes crash report #251
Add script warning suppression

Location: door_orbiplanax_chest:371:if
Remove ARX_ALTERNATE_3D global variable

Was only an 'extern' declaration, never used.
German for "Fullscreen" is *not* ""

Use the [system_menus_options_video_full_screen] localisation entry
for the fullscreen checkbox if [system_menus_options_videos_full_screen]
does not exist or is empty.
Fix format strings in D3D9Renderer asserts

%08x expects an unsigned int but HRESULT is a long, change it to %08lx
Fix style warning: include header by path
Rename .{h,cpp}.cmake files to .{h,cpp}.in

Configure.h.cmake and Version.cpp.cmake are not really CMake scripts
so they shouldn't have a .cmake suffix.
Finish incomplete sentence in a comment.
Update README.md: Document scripts/install-copy

Mention that the installation must be fully patched. Also mention that
this can be a Steam installation.
Fix typo in README.md
README.md: Capitalize Linux and Wine
Update CHANGELOG: add version 1.0.2
Remove winelib support

With working MinGW builds there is no only any need for these hacks.
CMakeLists.txt: Don't include ${QT_USE_FILE}

This allows us to include the Qt header paths with -isystem instead of
-I on gcc-compatible compilers so we can ignore warnings inside the qt
headers.

We already explicitly specified the libraries to link against, so most
of the work done in ${QT_USE_FILE} was unnecessary anyway.