cpp: tiff: Correct a number of compiler warnings

- explicitly initialise all pointers
- explictily cast where numeric types differ
- use 64-bit offset type when using bigtiff
cpp: tiff: Use 64-bit offsets externally, 64/32 internally

Internal implementation depends upon BigTIFF support by libtiff; the
external interfaces are always 64-bit.