Fix #420 - grass on yavin had corrupted colours.

This commit fixes a problem with corrupted colours on quick sprites,
when running as a 64-bit binary. unsigned longs were used for 4-byte
colours. While this would work on 32-bit systems, an unsigned long has 8
bytes on 64-bit systems. Colour types have been changed to uint32_t to
ensure the correct size on all systems.

The same has also been done for the GL_State function, which previously
accepted a bitfield of states as an unsigned long. Now it requires state
to be a uint32_t.