Use new renderer infrastructure in .render2()

Looks like it works, all tests currently pass.
Use .expand2() everywhere

Alternate implementation works better than the old one, switch to it entirely.