Stdio.File()->read(): advance buffer if possible
This commit also removed Stdio.Buffer()->advance() because it
is a bad API. It allows one to 'validate' uninitialized memory
inside of Stdio.Buffer objects.
Instead, we now try to advance the write offset in Buffer objects
in Stdio.File()->read(), instead. This is done using a new internal
API which can be extended to advance other buffer types in the future.