-Fix: compilation fix for PPC Mac OS X 10.4.11

__BYTE_ORDER was not defined.
-Codechange: Add macros/functions to read little endian integers from buffers/files

will be useful to make the code Endian agnostic
READ_LE_UINT16() READ_LE_UINT32()
File_Read_LE16() File_Read_LE32()
-Fix: Make Font loading/processing work for both Big & little endian
-Fix: Make Strings load on big endian machines
-Fix: Fix WSA code for Big endian
-Fix: Sprite code now supports Big endian machines
-Codechange: Simplified Object structure to avoid problems with endianess
-Fix: removed 'all' from flags and state of Widget, changing to struct no a union

The code was assuming that bit order was little endian
-Fix: Changed tile32 union to a plain struct.

The code was assuming Little Endian bit/byte ordering
unused csip32 was also removed
-Fix: Improve os/endian.h compatibility with old GCC versions or other compilers

Will now compile with GCC older than 4.3
__builtin_bswap32 is not available in older GCC versions
-Fix: fix icon map loading for Big endian machines
-Fix: __builtin_bswap16 is missing on x86 / x86-64

See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624
-Fix: Fix loading/saving functions in map.c
-Fix: fix save/load in info.c and saveload.c for BE machines
-Fix: removed additional braces following tile32 structure simplification
-Fix: load/save of structure for big endian machines

C bit fields are properly converted to a non machine dependant byte array
tile32 type is written as its 2 components : x, y
-Fix: use endian agnostic code in DSP_Play()
-Fix: remove warning on LE machines