Address U. F. O. shortcomings.

This attempts to address a number of issues mentioned in #1653, specifically the dropping of version data, the changing of glif names, and the reversal of reference and anchor orders. It also enables layered U. F. O. output in certain limited contexts outside of the specification.

We needed to switch the lib data to a per-layer model since that's how U. F. O. works.