TNetXNGFile: When no mode string is passed assume we're opening in read mode
TNetXNGFile: add ::Flush method and fix writes
TNetXNGFile: update offset by the number of bytes that were actually read
TNetXNGFile: set the internal offset in ReadBuffer(buffer, position, length)