TODO for future optimization: use inline data-uri for font-awesome to eliminate extra network request. (Might also want to cull the font to only those icons in use to reduce size.)