layout: Employ a persistent list data structure to avoid copying floats all the time.

r? @kmcallister