Allow the Pointer to relocate relative to EOF

Some binary file format have a fixed length
footer at the end of the file, which would
then contain the relative or absolute offsets
of other structures.

In order to parse the footer, the first thing
to do is to relocate at a position relative
to the end of the file, in order to read the
footer.

Without knowing the actual size of the file,
this is impossible to do if one can only move
to an absolute position from the beginning.

This change allow to specify a negative
position, which will be considered as starting
from the EOF (the same way as python array
indexes).