Reuse HTMLElements across game moves

HTMLActuator currently blows away all elements on every move. This causes
the browser to lose all the hard work it did to prepare the bitmap for the tile
in the first place, and forces us to rebuild it. This causes a ton of jank.
Only set textContent if the value changed

Due to crbug.com/352836, Chrome always repaints the contents of an element when
the textcontent has changed. Thus, only set it if absolutely needed.