Use wrap_child instead of replacing get_html

@nedbat, @sarina: Review, once #909 is applied?

@wedaly: I added some test infrastructure, and made lms/cms tests add to the common/lib coverage. Can you review that?

Things to review:

1. That the wrap_child implementations do the same thing as the old get_html replacement versions
2. That the new wrappers are applied in the same places and orders
3. That there aren't any cases of replacing get_html left in the codebase