Warning & memory allocation cleanups
- Add extutilP.h header for xgeExtRegister() prototype
- Remove unnecessary casts of malloc/calloc results
- Remove unnecessary (char *) casts from Xfree() arguments
- Use calloc instead of malloc if we may not initialize all the bytes
- Import reallocarray() from libX11
- Convert calls to Xmalloc arrays to use Xmallocarray instead