Added "pointer dead zones" as data blocks.

Certain element factories (such as the Gba Image Formatter) may have a
high confidence in the data they parse. If so, they may be able to know
that a certain byte is part of a data block, and is NOT a pointer, or
string, or something small. In such cases, that information should be
passed on to the pointer/string/whatever parser, so they don't
accidentally assume that data is of a simple/small data type when it is
already parsed as part of something more complex.

To this end, IsWithinDataBlock has been added to the Element Factory
interface, and the composite factories call it on eachother to get info
on what is and what is not already part of a block.

Note that the first byte of a data block is not "within" that data
block, thus allowing reverse pointers to work correctly. Perhaps another
method will be added later that specifies "is start of data block."