Fix codeplex bug 1312

System.Web.Razor.TextChange creates a wrong Old Text property

The GetText method was using a property instead of the passed parameter, also added an optimization for the common case of typing a single char (OldText length is always zero)