maps: use a macro for region type names

It's better to have the region type names together with the region
type enum in the same file. So define a macro for this.
rename load offset to load address

The load offset is actually used in the binary to tell the dynamic
loader which offset it should use. But the load address (where the
loader loaded the binary) is what we use here.
handlers: shorten the pointer format

The pointer format for memory addresses can be shortened if '%lx'
is used instead of '%p' as the '0x' prefix is removed. This way we
also don't have the chance to hit '(nil)' output for 0.
handlers: fix pointer format on 32 bit systems

The unsigned long maximum is defined as 'ULONG_MAX' and not
'ULONGMAX'. So rename it and add a warning in case 'ULONG_MAX'
isn't defined.
handlers: fix size warnings on 32 bit systems

Converting the result of strtoll() into (void *) causes pointer
size warnings on 32 bit systems. So use strtol().