Use TextBuffer in VirtualProjectProvider so that it works for dirty file...

...s

Fix #452.