Add functioning metaprogramming

Closes #13
Require ARC
Miscellaneous cleanup

* Rename private categories conventionally
* Fix self return types
* Nix font factories
* Simplify font loading