Add a new platform 0.4.40 for linux_x64
Define __LP64__ for linux_x64
Fix int types for __LP64__
Correct some sizeof asserts for __LP64__
Use uintptr_t for int and pointer conversion in Do_Callback
Return uintptr_t from RL_Series

Because it could also return a pointer
Shut off the compiler complain
Change destination type to uintptr_t for pointers

Match the function prototype
Fix the size of the REBCNT

it's a 32-bit integer, so it takes 8 hex characters.
Change type of Stack_Limit to uintptr_t

because it can be used as an address
Shut off the compiler complain about type conflict
Rearrange for better alignment

i64 needs to be 8-byte aligned
Comment correction
Add a FIXME in comment

if the length is not the multiple of wide, the size will not be
recovered in Free_Series_Data.
Convert the address to intptr_t instead of int
Change from REBCNT to uintptr_t for the pointer
Shut off the compiler complain

This needs to be more carefully examined
Correct the type of size

REBCNT could have different size from uLongf, so dereference a REBCNT
pointer with uLongf type could cause a segment fault
Rename Bytes_To_Long to Bytes_To_REBCNT to match the implementation

and Long_To_Bytes to REBCNT_To_Bytes.

REBCNT has a fix size of 32-bit, while Long doesn't.
Change type of handle to uintptr_t