Add preliminary font support

Added preliminary code for font support (not yet complete) along with a
few other minor changes.