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.
Yeah, Is there a way I can verify the signedness too? It would be nice to assert the integers are signed or unsigned.

I wanted to put ptrdiff_t etc so that other arches might work without change. I guess we can worry about that later.