* Prefix private fields with underscore and code cleanup.
* Rename to SetInitialProperties and fix a typo.
* Cleaning code and some adjustments.
* Fix default width for view.
* Enable cursor visibility.
* Reduces indentation and remove AutoInitShutdown.
* Add unit test for default Width is always equal to the provider DisplayText.Length.
* Also prevents showing the cursor if position is less than 0.
* Add OnTextChanged method and TextChanged event.
* Remove unnecessary TextChanged.