Improve mathmlPreserve

Add heurist to avoid the operation in some cases.
Improve demos

* Improve the information in `doc/demos/index.html`.
* Add footer and address to all demos.
Add "undo" feature

* Add "undo" feature for display math.
* Add `toLowerCase()` method when request `nodeName`.
* Improve documentation.