APT shared font loading

Adds support for the APT service GetSharedFont function. The "shared font" is a system-wide font that is encrypted and compressed within the system NAND (see http://3dbrew.org/wiki/Title_list). The format of this font is BCFNT. Retail games and system titles require this font to render text, and typically check that it is valid at startup. As such, having a valid shared font is typically necessary to get past initialization of these applications. 

Fortunately, this can be dumped quite easily from RAM using a simple homebrew application and the ninjhax exploit. I'm going to add this homebrew app to our org in a followup PR, as well as documentation on the wiki.
This is copied everytime GetSharedFont is called, is that intended? since we're using a fixed address and the data is always the same, why do we need this artificial overhead?