Pointer comparators and difference match the C standard.

Fixed two issues with pointer operations.
C11 6.5.6.9: Ptr subtraction have type ptrdiff_t.
C11 6.5.8.6, 6.5.9.3: Ptr comparisons have type int.
Let's hard-code 4 here instead of sizeof(int) to reduce the number of moving parts. I don't trust my compiler. :) Same applies to sizeof(ptrdiff_t). Then we can remove stddef.h too.