Use Standard (v)sprintf functions

The (v)sprintf_s functions are specific to MSCV++
Check that it doesn't break when compiling on MSVC++.
Fix Includes for GCC

GCC doesn't allow implicit inclution of cstring.

Linux File System requires the file seperator to be / instead of \,
while Windows allows both.
Add dummy LOG_COLOUR_* values for non-windows systems

Linux Requires a sequence of characters in the form:
  "\33[$m"
Where $ is a sequence numbers seperated by a ;

The values are dummies since LOG_COLOUR_* values are expected
to be integers and not a sequence of characters.