Refactor and implement section swapping.

Implement section swapping so that the elements between the section
markers and the markers themselves will be swapped to the location
of another section. The markers have to follow the section because
the renderers hold a reference to the markers.

Move Html.ElementNode.createMarker and Html.ElementNode.createMarkerPair
to be functions on Html. Move Mustachio.getElementByTagNameAndId and
Mustachio.getMarkerById to be functions on Html.
Refactor