Improved performance with large HTML files (#11696)
* Simplify Object.assign
* Remove copying ast inside addIsSpaceSensitive
* Remove copying ast inside extractWhitespaces
* Remove copying ast inside removeIgnorableFirstLf
* Remove copying ast inside mergeIeConditonalStartEndCommentIntoElementOpeningTag
* Remove copying ast inside mergeNodeIntoText
* Remove copying ast inside mergeSimpleElementIntoText
* Remove copying ast inside extractInterpolation
* Remove copying ast inside _parse
* Remove copying ast inside preprocess
* Fix lint
* Refactor index/next/prev recalculation with loop
* Remove redundant condition
Co-authored-by: fisker Cheung <lionkay@gmail.com>
* Remove index/siblings from properties
* Define and use replaceChild method
* Change prev/next into getter
* Make parent non writable
* setNonEnumerableProperties to setNonEnumerableProperty
* Set parent with constructor
* Make parent a normal property
* Use child.prev/next
* Remove parent parameter from constructor
Co-authored-by: fisker Cheung <lionkay@gmail.com>