Add backing File to TextBuffer

Use the pathwatcher module to back `TextBuffer` with a `File` on disk